1. Operasi Aritmatika
Untuk x dan y yang bertipe integer, ekspresi x/y memberikan hasil sebuah integer.
Contoh :
15/3 memberikan 5
7/4 memberikan 1
3/6 memberikan 0
Operator modulus hanya berlaku untuk bilangan bulat. Ekspresi x%y memberikan
sisa dari pembagian x oleh y.
Contoh :
15%3 memberikan 0 (baca : 15 mod 2)
7%4 memberikan 3
3%6 memberikan 3
Perhatikan bahwa beberapa simbol mempunyai arti yang bergantung pada konteks.
Bandingkan arti-arti simbol % dalam statement :
Konsep Pemrograman 13
Operator dengan presedensi lebih tinggi terikat lebih kuat dengan operanda-
operandnya, dibandingkan dengan operator dengan presedensi lebih rendah.
Jadi operator dengan presedensi lebih tinggi dievaluasi lebih dulu.
Contoh :
1 + 2 * 3 memberikan 7
(1 + 2) * 3 memberikan 9
OPERATOR ASOSIATIVITAS
( ) [ ] -> left to right
! ~ ++ -- + - * & (type) right to left
sizeof
* / % left to right
+ - left to right
<< >> left to right
== != left to right
& left to right
^ left to right
| left to right
&& left to right
|| left to right
? : right to left
= += -= *= /= %= &= ^= |= right to left
<<= >>=
, left to right
Konsep Pemrograman 14
2. Operasi Logika
Komputer dapat disuruh membuat keputusan berdasarkan kondisi tertentu, melalui if
- statement.
Ada dua bentuk if - statement :
if (kondisi) statement
if (kondisi) statement
adalah : kondisi dievaluasi; jika nilainya true (benar) maka statement dilaksanakan.
Dalam bahasa C, kondisi berupa suatu ekspresi yang dapat bernilai NOL atau TIDAK
NOL. Nilai NOL dianggap sama dengan FALSE, sedangkan nilai TIDAK NOL
dianggap sama dengan TRUE.
Operator-operator yang biasa dipakai untuk membentuk kondisi adalah operator-
operator kesamaan (==, !=) dan operator-operator relasional (<, >, <=, >=).
Operator kesamaan membentuk ekspresi kesamaan sedangkan operator relasional
membentuk ekspresi relasional.
Konsep Pemrograman 15
Contoh :
int a = 10, b=15;
/*
* Contoh pemakaian if - statement, operator kesamaan dan
* operator relasional
*/
#include <stdio.h>
main() {
int bil1, bil2;
if (bil1 == bil2)
printf("%d sama dengan %d\n", bil1, bil2);
if (bil1 != bil2)
printf("%d tidak sama dengan %d\n", bil1, bil2);
if (bil1 < bil2)
printf("%d lebih kecil dari %d\n", bil1, bil2);
if (bil1 > bil2)
printf("%d lebih besar dari %d\n", bil1, bil2);
if (bil1 % 2 == 0)
printf("%d adalah bilangan genap \n", bil1);
else
printf("%d adalah bilangan gasal \n", bil1);
Konsep Pemrograman 16
return 0; /*program berakhir dengan baik */
}
Contoh hasilnya :
Salah satu keampuhan komputer adalah dapat melaksanakan sejumlah aksi atau
operasi secara berulang-ulangmhingga suatu kondisi terpenuhi.
Untuk melakukan pengulangan (iterasi), kita dapat mengunakan suatu iteration-
statement (statemen iterasi).
Salah satu statemen iterasi berbentuk :
/* --------------------------------------------*
* Contoh penggunaan while statement *
* --------------------------------------------*/
#include <stdio.h>
main () {
int pangkatDua = 1;
Outputnya :
Konsep Pemrograman 17
3. Statemen Majemuk
/* tahap pengolahan */
while (counter <= JUMLAH_NILAI) {
printf("Masukkan nilai : ");
scanf("%d", &nilai);
total = total + nilai;
counter = counter + 1;
}
/* tahap penyelesaian */
rata_rata = (float) total / JUMLAH_NILAI;
printf("Nilai rata-rata kelas : %.2f\n", rata_rata);
return 0;
}
Konsep Pemrograman 18
Contoh hasilnya :
(nama-tipe)
Operator cast adalah suatu operator unary.
Konsep Pemrograman 19
Conversion-specifier %.2f menyatakan bahwa suatu bilangan pecahan
(floating-point number) akan ditayangkan dengan ketelitian 2 angka desimal di kanan
titik desimal.
Contoh :
printf("%.2f",3.447); /* cetak 3.45 */
printf("%.1f",3.447); /* cetak 3.4 */
variabel = pihak_kanan
merupakan suatu ekspresi. Nilai dari pihak_kanan disimpan ke variabel. Nilai dari
pihak_kanan ini juga menjadi nilai dari ekspresi assignment itu secara keseluruhan.
Contoh :
int a = 1, b = 2;
a = a + 3 4
b = b - 7 -5
Statemen merupakan satuan terkecil yang dapat dieksekusi. Statemen diakhiri dengan
tanda titik koma. Statemen yang paling sederhana adalah null-statement (statemen
kosong).
;
Suatu ekspresi yang diikuti oleh tanda titik koma merupakan statemen.
Konsep Pemrograman 20
Contoh : a = 3;
b = b +2;
a + 1;
Semua operator ini mempunyai presedensi yang sama dan assosiativitas right-to-left.
Makna (semantik) dari :
kecuali bahwa variabel dalam bentuk yang ringkas itu dievaluasi hanya satu kali. Jadi
waktu eksekusi dari bentuk yang ringkas bisa lebih pendek.
j *= k + 3 ekivalen dengan j = j * (k + 3)
bukan j=j*k+3
Keduanya dapat berada pada posisi PREFIX atau POSTFIX, dengan semantik yang
berbeda.
Konsep Pemrograman 21
++a nilai a bertambah 1 nilai a baru
Contoh :
int a, b, c = 0;
a = ++c;
b = c++;
printf("%d %d %d\n", a,b,++c); /* cetak 1 1 3 */
Konsep Pemrograman 22