Anda di halaman 1dari 25

Ekspresi dan Operator

Pertemuan 9
Ekspresi dan Operator
• Contoh ekspresi: a, x, a+b , a*b, -x , 5, a<b, a==b,
7==c
• Ekspresi dapat melibatkan operator
• Contoh: a+b , a*b, -x , a<=b, a==b, 7==c
• Jenis operator berdasarkan jumlah operand:
• Unary (satu operand), misal: –a
• Binary (dua operand), misal: a+b
• Ternary (tiga operand), misal x ? y : z
• Setiap ekspresi dievaluasi untuk menghasilkan
suatu nilai
Operator
• “An operator is a symbol (+,-,*,/) that directs the
computer to perform certain mathematical or logical
manipulations and is usually used to manipulate data
and variables”
• Ex: a+b
Jenis Operator pada C
• Aritmetika
• Logika
• Relasional
• Penugasan (assignment)
• Increment (penaikan), Decrement (penurunan)
Operator Aritmetika
• Operator yang digunakan untuk perhitungan
matematika
• Diasumsikan bahwa variabel a=30 dan b=10 maka
hasil implementasi operator aritmetika adalah
sebagai berikut:
Operasi Operator Ekspresi Hasil
Penjumlahan + a+b 40
Pengurangan - a–b 20
Perkalian * a*b 300
Pembagian / a/b 3
Modulo % a%b 0
Contoh program
#include <stdio.h>

int main()
{
int a=30;
int b=10;
printf("a+b=%d\n",a+b);
printf("a-b=%d\n",a-b);
printf("axb=%d\n",a*b);
printf("a/b=%d\n",a/b);
printf("a mod b=%d\n",a%b);
return 0;
}
#include <stdio.h>

int main()
{
float celsius, fahrenheit, reamur, kelvin;

/* Input temperature in celsius */


printf("Enter temperature in Celsius: ");
scanf("%f", &celsius);

/* conversion formula */
fahrenheit = (celsius * 9 / 5) + 32;
reamur=(celsius* 4/5);
kelvin=celsius + 273;

printf("%.2f Celsius = %.2f Fahrenheit", celsius, fahrenheit);


printf("\n%.2f Celsius = %.2f Reamur", celsius, reamur);
printf("\n%.2f Celsius = %.2f Kelvin", celsius, kelvin);

return 0;
}
Operator Logika
• Operator logika digunakan untuk membandingkan nilai dua variabel atau lebih.
• Hasil operasi ini adalah nilai boolean true atau false
• Asumsikan variabel a bernilai true, b bernilai false dan c bernilai true, lalu
perhatikan tabel berikut:

Operator Pengertian Keterangan Contoh


&& Logika and Jika semua operand bernilai TRUE (tidak nol) a && b hasilnya false
maka kondisi bernilai benar. a && c hasilnya true
ǀǀ Logika or Jika salah satu dari operand bernilai TRUE a || b hasilnya true
(tidak nol) maka kondisi bernilai benar. a || c hasilnya true
! Logika not Digunakan untuk membalik kondisi. Jika !a hasilnya false
kondisi benar (TRUE) maka akan berubah !b hasilnya true
menjadi salah (FALSE), begitu pula sebaliknya !( b && a ) hasilnya true
Contoh Program
#include <stdio.h>
int main(void)
{
int a;

a = 0 && 1;
printf("Isi variabel a: %d \n",a);

a = 1 && 1;
printf("Isi variabel a: %d \n",a);

a = 0 || 1;
printf("Isi variabel a: %d \n",a);

a = 0 || 0;
printf("Isi variabel a: %d \n",a);

a = !0;
printf("Isi variabel a: %d \n",a);

return 0;
}
Latihan 1
• Buatlah sebuah program yang membaca nilai sebuah
bilangan bulat. Kemudian nilai yang dibaca akan
dipecah menjadi nilai-nilai yang lebih kecil.

• Ilustrasi Input
Masukkan nilai (bil.bulat) : 4356
• Ilustrasi output
4 nilai ribuan
0 nilai ratusan
5 nilai puluhan
5 nilai satuan
#include <Stdio.h>
int main() {
int angka;
int ribu,ratus, puluhan, satuan, a, b,c;
printf("Masukkan angka kurang dari 10000 :", angka);
scanf("%d",&angka);

ribu=angka/1000;
c=angka%1000;

ratus=c/100;
a=angka%100;

puluhan=a/10;
b=angka%10;

satuan=b/1;
printf("Hasilnya adalah:\n");
printf("%d sebagai bilangan ribuan\n", ribu);
printf("%d sebagai bilangan ratusan\n", ratus);
printf("%d sebagai bilangan puluhan\n", puluhan);
printf("%d sebagai bilangan satuan", satuan);
}
Operator Relasional
• Operator Relasi digunakan untuk menguji hubungan antara nilai dan atau
variabel.
• Operator ini digunakan dalam suatu statement bersyarat yang selalu
menghasilkan nilai true atau false.
• Jenis-jenis operator relasi
Operator Keterangan
== Sama dengan (bukan penugasan)
!= Tidak sama dengan
> Lebih dari
< Kurang dari
>= Lebih dari atau sama dengan
<= Kurang dari atau sama dengan
Operator penugasan (Assignment)
• Operator penugasan adalah operator yang
digunakan untuk memberikan nilai ke dalam
variabel tertentu.
• Tanda yang digunakan =
• Ada dua bagian yang dipisahkan =
• L-Value : alamat lokasi memori tempat nilai disimpan
• R-Value : nilai yang disimpan
• Contoh
• a = 5;
• b = a = 10;
• c = c + 5;
Compound Assignment Operator
• Menggabungkan operator penugasan dengan
operator aritmetika
• Contoh
• c = c + 1 dapat ditulis menjadi c += 1
• x = x * 2 dapat ditulis menjadi x *= 2
• Operator yang dapat digunakan adalah +, -, *,/, dan
%
Contoh Penggunaan
Compound Assignment Operator
Operator Arti Contoh Keterangan
+= Penjumlahan Bilangan +=2 Bilangan = Bilangan + 2
-= Pengurangan Nilai -=10 Nilai = Nilai - 10
*= Perkalian Angka *= 3 Angka = Angka * 3
/= Pembagian Jumlah /= 5 Jumlah = Jumlah / 5
%= Sisa hasil bagi Sisa %= 2 Sisa = Sisa % 2
Contoh program
#include <stdio.h>
int main()
{
int a=50;
int b=30;
int c=a+b;
printf("Nilai c adalah:%d\n",c);
c=a=b;
printf("Nilai c sekarang adalah:%d\n",c);
printf("Nilai a sekarang adalah:%d\n",a);
printf("Nilai c sekarang adalah:%d\n",c+=a);
printf("Nilai c sekarang adalah:%d\n",c*=a);
printf("Nilai c sekarang adalah:%d\n",c-=a);
printf("Nilai c sekarang adalah:%d\n",c/=a);
printf("Nilai c sekarang adalah:%d\n",c%=a);
return 0;
}
Operator Increment dan
Decrement
• Increment adalah operator yang digunakan untuk
menaikkan nilai variabel sebesar 1
• Decrement adalah operator yang digunakan untuk
menurunkan nilai variabel sebesar 1
• Increment: ++
• Decrement: --
• Contoh
• x = x + 1  ++ x; atau x++;
• y = y – 1 --y; atau y--;
Operator Increment dan
Decrement
• Ada dua tipe:
• Pre-increment/decrement, misalnya ++c, --d
Nilai ekspresi adalah nilai setelah dilakukan operasi
increment/decrement
• Post-increment/decrement, misalnya c++, d--
Nilai ekspresi adalah nilai sebelum dilakukan operasi
increment/decrement
• Contoh (misal nilai awal a = 5, b = 8 )
• Nilai ekspresi a++ adalah 5, tetapi nilai a setelahnya
menjadi 6
• Nilai ekspresi ++b adalah 9, dan nilai b setelahnya tetap
9
Contoh program
#include <stdio.h>
int main()
{
int r=10;
int s;
s=10+r++; • Pada contoh diatas, variabel s diisi dengan penjumlahan
nilai 10 dan r. Dengan demikian s akan bernilai 20.
printf("r=%d\n",r); • Setelah s diisi dengan 20, nilai r baru dinaikkan karena
printf("s=%d",s); operator ++ ditulis di belakang r.
• Disebut post-increment yang artinya dinaikkan di
return 0; belakang setelah penjumlahan antara r dan 10
} dilaksanakan. 
Contoh program
#include <stdio.h>
int main()
{
int r=10;
int s;
s=10 + ++r; • Pada contoh ini, nilai r mula-mula dinaikkan terlebih
printf("r=%d\n",r); dahulu karena operator ++ ditempatkan di depan r
disebut pre-increment.
printf("s=%d",s); • kemudian nilainya dijumlahkan dengan 10 dan
return 0; diberikan ke s. Dengan demikian s bernilai 21 dan r
sama dengan 11.
}
Latihan Kelas
• Buatlah program untuk membaca jumlah hari
kemudian mengkonversinya ke dalam tahun,
minggu dan hari.
• Jumlah hari diinput oleh user

• Ilustrasi Input
Input jumlah hari: 373
• Ilustrasi Output
373 hari = 1 tahun, 1 minggu dan 1 hari
Homework
• Buatlah program untuk menghitung gaji karyawan
berdasarkan jam kerja yang diketahui.
• Input nya adalah : ID karyawan, Jam Kerja
karyawan, Gaji/jam
• Hitunglah gaji yang diterima
• Tampilkan no ID dan besar gaji karyawan sebagai
outputnya

Anda mungkin juga menyukai