SlideShare a Scribd company logo
-1-
4 OPERATOR DAN UNGKAPAN
Data yg disimpan di dlm ingatan (lihat bab 3) boleh diolah dgn
menggunakan operator . C mempunyai 45 operator utk mengolah
berbagai jenis data.
4.1 Operator
Beberapa operator telah diperkenalkan sebelum ini:
+ operator tambah
- operator tolak
= operator umpukan
O p e r a t o r d i g u n a k a n u t k m e n g g a b u n g k a n o p e r a n
(pembolehubah@pemalar) menjadi ungkapan. Ungkapan yg ditamatkan
dgn ; menjadi kenyataan.:
ungkapan gaji + elaun - hutang
kenyataan pendapatan = gaji + elaun - hutang;
Bab 4
luasBulatan = PI * jejari * jejari ;
pemalar pembolehubah
operan
Cth satu kenyataan:
ungkapan
Operator terbahagi kepada:-
i) operator aritmetik
ii) operator hubungan
iii) operator logik
Dlm bab ini kita akan belajar fungsi operator2 tertentu & syarat2
penggunaannya.
(C) Dayang & Rosbi 2001
4.2 Operator aritmetik
Operator aritmetik dalam C terbahagi kepada 2:-
i) unari ii) binari
-2-Bab 4 (C) Dayang & Rosbi 2001
4.2.1 Operator Aritmetik unari
Operator unari dikenakan kpd satu pembolehubah shj.
Operator Fungsi
+ operator positif
- operator negatif
++ operator tokok
-- operator susut
! operator TIDAK/NOT
~ operator salingan/pelengkap satu
& operator alamat bagi sesuatu pembolehubah
* operator kandungan sesuatu alamat
sizeof saiz sesuatu pembolehubah dlm bait
main()
{
int x, c;
c = -64;
x = +c; /* x = -64 */
x = -c; /* x = 64 */
x = ++c; /* x = 65 */
x = --c; /* x = 64 */
c = sizeof x; /* c = 2 */
c = ~c; /* c = 253 */
}
Jika operator tokok dan susut dikenakan selepas (posfix)satu
pembolehubah, nilai pembolehubah tersebut yg asal akan digunakan
dan selepas itu baru nilai pembolehubah tersebut ditokok @ disusut.
main()
{
int x,xcc,xtt;
x = 24;
xcc = x++; xtt = ++x;
printf( "x= %d, xcc= %d , xtt= %d", x, xcc, xtt);
}
Keluaran skrin:
x= 26, xcc= 24, xtt= 26
Contoh:
main()
{
int x, y, z;
x =10; y = 17;
z = x + y; /* z diumpukkan dgn. nilai 27 */
y = y - x; /* y diumpukkan dgn. nilai 7 */
x = y * z; /* x diumpukkan dgn. nilai 189 */
z = x / 20; /* z diumpukkan dgn. nilai 9 */
y = z % x; /* y diumpukkan dgn. nilai 9 */
}
+ operator tambah
- operator tolak
* operator darab
/ operator bahagi
% operator hasil bahagi @ modulus (integer shj.)
operator yang terletak di antara dua operan.
Simbol pewakilan operator binari:
4.2.2 Operator Aritmetik binari
/ - Melakukan operasi bahagi ttp. bila digunakan dgn pembolehubah
integer ia akan memberikan hasil bhg integer(no. bulat).
Contoh:
7.0/2.0 hasil 3.5
7.0/2 hasil 3.5
7/2.0 hasil 3.5
7/2 hasil 3
i) Operator / & %
%- Memberi nilai baki bg pembahagian 2 no. HANYA boleh digunakan
bersama nilai atau operan berjenis integer
Contoh:
7%2 hasil 1
-3-Bab 4 (C) Dayang & Rosbi 2001
4.2.2 Operator Aritmetik binari (samb....)
-4-Bab 4 (C) Dayang & Rosbi 2001
Contoh operasi / & % :
3
2 7
6
1
7/2
7%2
2
100 299
200
99
299/100
299%100
ii) Penggunaan Jenis Data Pelbagai dlm Ungkapan Aritmetik binari
Dlm satu unkapan aritmetik binari, min. 2 operan & 1 operator
Format:
operan1 operator1 operan2 ....operatorn-1 operann
Operan int & double
jika kesemua operan adalah integer nilai terhasil adalah integer,
jika tidak, akan menghasilkan double.
Contoh:
main()
{
int i1=3, i2=2, hasil1, hasil2;
double d=2.0, hasil3, hasil4;
hasil1 = i1/i2; /* 3/2 */
hasil2 = i1/d; /* 3/2.0 */
hasil3 = i1/i2; /* 3/2 */
hasil4 = i1/d; /* 3/2.0 */
}
1 1 1.0 1.5
hasil1 hasil2 hasil3 hasil4
4.2.2 Operator Aritmetik binari (samb....)
Dari contoh berlaku pertukaran jenis data dlm satu ungkapan -
pertukaran jenis data secara automatik.
Pertukaran jenis data boleh diarahkan mengunakan operasi casting.
-5-Bab 4 (C) Dayang & Rosbi 2001
Contoh 2:
main()
{
int jum_markah = 456, bil_pelajar = 5;
double purata_markah1, purata_markah2;
purata_markah1=jum_markah/bil_pelajar;
purata_markah2=(double)jum_markah / bil_pelajar;
}
Format cast:
(jenis data) pembolehubah@ungkapan
Contoh i:
double a=3.0, b=2.0, hasil;
hasil = a % b; /*Ralat Sintaks!!!*/
Penyelesaian:
hasil = (int)a % (int)b; /*Bebas Ralat*/
91.0 91.2
purata_markah1 purata_markah2
iii) Cast
4.3 Kenyataan dgn pelbagai operator
Setakat ini kita membincangkan ungkapan menggunakan satu operator
pd satu kenyataan.
contoh : x= -y; x = y + z;
-6-Bab 4 (C) Dayang & Rosbi 2001
Contoh:
int z, y=-5;
z= 8 - 3 + 9 / 2 + 2 * - y;
z= 8 - (3 + 9 / 2) + 2 * - y;
Perlukan syarat keutamaan utk memproses aritmetik tersebut.
Kadar Keutamaan operator unari adalah seperti berikut:
( )
unari : - + -- ++
*, /, %
binari : +, -
Jika pelbagai operator dlm satu ungkapan spt:
x= -y + z * 7 % 2 /++z;
keutamaan
berkurangan
8 - 3 + 9 / 2 + 2 * - y
8 - ( 3 + 9 / 2 ) + 2 * - y
1: - 5
3: * 10
2: / 4
arah proses jika
terdpt lebih dari 1
4: - 5
5: +
6: +
9
19
3: - 5
4: *
10
1: / 4
2: +
6: +
7
11
5: - 1
4.3 Ungkapan dgn pelbagai operator (samb....)
Mengetahui syarat keutamaan utk memproses aritmetik membantu
kita memahami bgm C memproses kenyataan. TTp utk menghasilkan
kod aturcara yang mudah dibaca penggunaan ( ) amat digalakkan.
contoh x*y*z+y/b-c
lebih mudah difahan jika x*((y*z)+y)/(b-c )
-7-Bab 4 (C) Dayang & Rosbi 2001
Contoh formula math & kenyataan C:
Formula kenyataan C
b2 - 4ac b * b - 4 * a * c
a + b (a + b) / (c + d)
c + d
1 1/ (1 + x * x)
1 + x2
4.4 Penyataan Umpukan =
pernyataan umpukan menggunakan simbol =. Operator umpukan ini juga
boleh digunakan dalam 2 cara:
i) pernyataan umpukan berganda
ii) pernyataan umpukan kompaun
i) pernyataan umpukan berganda
Terdapat lebih dari satu operator (=) dalam sesuatu pernyataan
umpukan berganda.
Contoh 1:
int a=b=c=d=e=250;
Contoh 2:
int b=2, nombor=0, jum=0, purata=3;
nombor= b = 10 + (jum=10-purata);
printf("n%d %d %d %d", b , nombor, jum, purata);
Output:
17 17 7 3
-8-Bab 4 (C) Dayang & Rosbi 2001
4.4 Penyataan Umpukan = (samb....)
ii) pernyataan umpukan kompaun
Kenyataan yg memudahkan kenyataan berikut:
pembolehubah = pembolehubah operator ungkapan;
kepada:
pembolehubah operator= ungkapan;
Contoh:
masa = masa -1; /*sama*/ masa -= 1;
bil = bil + 1; /*sama*/ bil += 1;
jum_ti = jum_ti + ti; /*sama*/ jum_ti += ti;
n = n * (x + 1); /*sama*/ n *= x + 1;
Gabungan beberapa operator yang dibenarkan adalah seperti berikut:
+=
%=
-=
/=
*=
4.5 Fungsi Perpustakaan Matematik
Setakat ini kita mengenali operator math yg mudah spt +, -, *, / dan
%. Ttp ini tidak cukup utk menyelesaikan masalah spt:
x |q+z| h 3
12.3
Rutin/fungsi utk sesetengah pengiraan penting ini telah disediakan C.
Fungsi ini boleh dipanggil bersama dengan arahan prapemproses
#include. Contoh 2 panggilan perpustakaan matematik:
#include <math.h>
#include <stdlib.h>
-9-Bab 4 (C) Dayang & Rosbi 2001
4.5 Fungsi Perpustakaan Matematik (samb....)
Beberapa fungsi dpd perpustakaan matematik:
fungsi fail perpus. tujuan@nilai argumen hasil
dikembalikan & cth
abs(x) stdlib.h mutlak x int int
abs(-5) hasil 5
exp(x) math.h ex double double
exp(1.0) hasil 2.71828
log(x) math.h loge(x) double double
log(2.71828) hasil 1.0
pow(x,y) math.h xy double, double
pow(0.16, 0.5) hasil 0.4 double
sqrt(x) math.h x dan x >=0.0 double double
sqrt(2.25) hasil 1.5
Contoh operasi fungi sqrt dlm kotak hitam:
punca ganda dua
x
fungsi sqrt
x = 16.0 hasil = 4.0
4.6 Operator hubungan
Operator hubungan digunakan utk melakukan perbandingan. Ia
digunakan oleh suruhan2 yg membuat keputusan. Ia memerlukan 2
pembolehubah.
Perhatikan:
x = 5 bermaksud berikan nilai 5 kpd pembolehubah x
x == 5 bermaksud bandingkan samada nilai x sama dgn 5
Jangan terkeliru operator umpukan dgn operator sama dgn !
Hasil dari operator hubungan ialah samada BENAR (TRUE) atau
PALSU (FALSE). Dlm C, PALSU diwakili oleh nombor/nilai sifar (0)
dan BENAR oleh sebarang nombor bukan sifar( biasanya 1).
Contoh:
kenyataan : y = (4 == 5) akan memberikan y nilai sifar
kenyataan : y = (x <= z)
memberikan y nilai bukan sifar jika x lebih kecil atau sama dgn z
memberikan y nilai sifar jika x lebih besar dari z
4.7 Operator logik
Operator logik digunakan utk menggabungkan beberapa ungkapan yg
mengandungi operator hubungan. Berguna utk melakukan
perbandingan kompleks bagi membuat keputusan.
< kurang dari
<= kurang dari atau sama dgn
> lebih besar dari
>= lebih besar dari atau sama dgn
== sama dgn
!= tidak sama dgn
&& DAN (AND)
|| ATAU (OR)
! TIDAK (SALINGAN)
-10-Bab 4 (C) Dayang & Rosbi 2001
Jika ungkapan1 dan ungkapan2 adalah ungkapan2 yg mengandungi
operator hubungan mudah spt x < 10, z == 0 dsbnya, maka:
ungkapan1 && ungkapan2 adalah BENAR jika & hanya jika kedua2
ungkapan adalah BENAR
ungkapan1 || ungkapan2 adalah BENAR jika satu atau kedua2
ungkapan adalah BENAR
!ungkapan1 adalah BENAR jika ungkapan1 adalah
PALSU dan sebaliknya
Contoh:
a) (6 > 2) && (3==3) adalah BENAR
b) (6 < 2) && (3==3) adalah PALSU
c) ! ( (6 < 2) && (3==3) ) adalah BENAR
d) j != 0 && (x/10 < 3) adalah BENAR jika j bukan sifar dan
x lebih kecil dari 30
e) (12 != 12) || ((2 > 1) && 5 ==2))
f) !(10==10) || (20 <= 22) || 2000
g) -100 && -155
h) x = ( (9==0) && (1<1) )
Aturan ungkapan1 dan ungkapan2 dinilai adalah dari kiri ke kanan.
Oleh itu utk memastikan ungkapan2 dinilai spt yg dikehendaki,
gunakan kurungan '( )' utk menentukan aturan ungkapan2 dinilai.
-11-Bab 4 (C) Dayang & Rosbi 2001
4.7 Operator logik (samb...)
1. Diberi pengenalan pemalar dan pembolehubah
#define PI 3.14159
#define MAX_I 1000
.....
double x, y;
int a, b, i;
-12-Bab 4 (C) Dayang & Rosbi 2001
Latihan
yang mana menunjukkan kepada pernyataan yang sah (cari nilai
yang disimpan oleh setiap pernyataan) dan yang mana tidak sah
(kenapa).
anggap pembolehubah a adalah 3, b adalah 4, dan y adalah -1.0.
a. i = a % b;
b. i = (989 - MAX_I) / a;
c. i = b % a;
d. x = PI * Y;
e. i = a / -b;
f. x = a / b;
g. x = a % (a / b);
h. i = b / 0;
i. i = a % (990 - MAX_I);
j. i = (MAX_I - 990) / a;
k. x = a / y;
l. i = PI * a;
m. x = PI / y;
n. x = b/a;
o. i = (MAX_I - 990) % a;
p. i = a % 0;
q. i = a % (MAX_I -990);
2. Anggapkan anda mempunyai pengenalan pembolehubah berikut:
int color, lime, straw, kuning, merah, oren;
double hitam, putih, hijau, biru, unggu, crayon;
Cari niali setiap pernyataan a.-f. yg mana nilai pembolehubah 'color'
adalah 2, 'hitam' adalah 2.5, 'crayon' adalah -1.3, 'straw' adalah 1,
'merah' adalah 3, 'unggu' adalah 0.3E + 1.
a. putih = color * 2.5 / unggu;
b. hijau = color / unggu;
c. oren = color / red;
d. biru = (color + straw) / (crayon +0.3);
e. lime = merah / color + red % color;
f. unggu = straw / merah * color;

More Related Content

What's hot (20)

PDF
Praktikum p-fisika
Torang Aritonang
 
PDF
scikit-learn cheat sheet untuk data science
softscients
 
PDF
Fungsipersamaanpertidaksamaan
Kia Hti
 
PDF
Ifc modul 2 (array)
James Montolalu
 
PPTX
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Prasetyo Adi
 
PPTX
4 Menggambar Grafik Fungsi Dengan Matlab
Simon Patabang
 
PPT
Fungsi
Nurin Sofyani
 
PPTX
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
habno
 
PPT
Pertemuan vi
windi1
 
PPT
Pertemuan IV Teori
lembayungtirta
 
PDF
Kalkulus modul iv fungsi dan grafiknya
Lukmanulhakim Almamalik
 
DOCX
Tugas kalkulus
Av Ri
 
PPTX
6. variabel, tipe data, dan operator pada vb
Aris Saputro
 
PDF
Fungsi dan grafik
yupiayumanora
 
PDF
Logic Operation
Aravir Rose
 
PDF
8 Data Record
Simon Patabang
 
PPTX
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
PDF
Bab 4 fungsi
Cliquerz Javaneze
 
PPTX
Algoritma powerpoint
Irwin andriyanto
 
PPTX
Meri arianti (17118002)
MeriArianti
 
Praktikum p-fisika
Torang Aritonang
 
scikit-learn cheat sheet untuk data science
softscients
 
Fungsipersamaanpertidaksamaan
Kia Hti
 
Ifc modul 2 (array)
James Montolalu
 
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Prasetyo Adi
 
4 Menggambar Grafik Fungsi Dengan Matlab
Simon Patabang
 
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
habno
 
Pertemuan vi
windi1
 
Pertemuan IV Teori
lembayungtirta
 
Kalkulus modul iv fungsi dan grafiknya
Lukmanulhakim Almamalik
 
Tugas kalkulus
Av Ri
 
6. variabel, tipe data, dan operator pada vb
Aris Saputro
 
Fungsi dan grafik
yupiayumanora
 
Logic Operation
Aravir Rose
 
8 Data Record
Simon Patabang
 
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
Bab 4 fungsi
Cliquerz Javaneze
 
Algoritma powerpoint
Irwin andriyanto
 
Meri arianti (17118002)
MeriArianti
 

Similar to C programming language notes (4) (20)

PDF
P1 2-tipe data
Syekh Fachtur
 
PDF
Cc++
donasiilmu
 
PDF
Operator
Habib Aminudin
 
PPTX
Simple-Process_Java.pptx
ZhiiudhaeZhiieechieZ
 
DOCX
Laporan Praktikum 3 DPK Operator
Hanifah Has
 
PDF
Praktikum p-fisika
Muhammad Hairullah
 
PDF
Tipe data
pengen IT Programmer
 
PDF
Materi operator java
Adam Mangku Bumi
 
PPTX
3 adp operator
Muhammad Salihin
 
PDF
Function c++
Alvin Setiawan
 
PDF
Presentasi pertemuan3
SMA Insan Cendekia Alkausar Sukabumi
 
PDF
Diskusi Dasar Pemrograman Pertemuan Ke-6.pdf
HendroGunawan8
 
PDF
Asyiknya belajar struktur data di planet c++
Ilan Surf ﺕ
 
PDF
pemrograman-dasar-03-ekspresi untuk sma.pdf
dadan261
 
DOCX
Matlab
Irul Andiansyah
 
PDF
pemrograman-dasar-cpp_03-ekspresi.pdf
TriAgus18
 
DOCX
Laporan praktikum modul ii & iii
Devi Apriansyah
 
PDF
C programming language notes (7)
nakomuri
 
PDF
Java2
The World Bank
 
P1 2-tipe data
Syekh Fachtur
 
Operator
Habib Aminudin
 
Simple-Process_Java.pptx
ZhiiudhaeZhiieechieZ
 
Laporan Praktikum 3 DPK Operator
Hanifah Has
 
Praktikum p-fisika
Muhammad Hairullah
 
Materi operator java
Adam Mangku Bumi
 
3 adp operator
Muhammad Salihin
 
Function c++
Alvin Setiawan
 
Diskusi Dasar Pemrograman Pertemuan Ke-6.pdf
HendroGunawan8
 
Asyiknya belajar struktur data di planet c++
Ilan Surf ﺕ
 
pemrograman-dasar-03-ekspresi untuk sma.pdf
dadan261
 
pemrograman-dasar-cpp_03-ekspresi.pdf
TriAgus18
 
Laporan praktikum modul ii & iii
Devi Apriansyah
 
C programming language notes (7)
nakomuri
 
Ad

More from nakomuri (20)

PDF
Basic security concepts_chapter_1_6perpage
nakomuri
 
PPTX
Business entrepreneur presentation
nakomuri
 
PDF
C programming language notes (9)
nakomuri
 
PDF
C programming language notes (6)
nakomuri
 
PDF
C programming language notes (5)
nakomuri
 
PDF
C programming language notes (2)
nakomuri
 
PDF
C programming language notes (1)
nakomuri
 
PDF
C programming language notes (8)
nakomuri
 
DOC
Atm flowchart
nakomuri
 
DOCX
Nikah khitbah
nakomuri
 
PPTX
Twitter
nakomuri
 
PDF
Senarai organisasi
nakomuri
 
DOC
Silibus stij3053 - Network Design
nakomuri
 
PPTX
Chapter 4 high-speed_network_design - Network Design
nakomuri
 
PPTX
Chapter 3 1-network_design_with_internet_tools - Network Design
nakomuri
 
PPT
Chapter 2 -_lan_network_design - Network Design
nakomuri
 
PPTX
Chapter 1 overview-stij3053 - Network Design
nakomuri
 
PPTX
Chapter 3 2-remote_network_design - Network Design
nakomuri
 
DOC
Sukatan pelajaran kursus_bwff1013 - Basic Finance
nakomuri
 
DOCX
Consultation hour - Basic Finance
nakomuri
 
Basic security concepts_chapter_1_6perpage
nakomuri
 
Business entrepreneur presentation
nakomuri
 
C programming language notes (9)
nakomuri
 
C programming language notes (6)
nakomuri
 
C programming language notes (5)
nakomuri
 
C programming language notes (2)
nakomuri
 
C programming language notes (1)
nakomuri
 
C programming language notes (8)
nakomuri
 
Atm flowchart
nakomuri
 
Nikah khitbah
nakomuri
 
Twitter
nakomuri
 
Senarai organisasi
nakomuri
 
Silibus stij3053 - Network Design
nakomuri
 
Chapter 4 high-speed_network_design - Network Design
nakomuri
 
Chapter 3 1-network_design_with_internet_tools - Network Design
nakomuri
 
Chapter 2 -_lan_network_design - Network Design
nakomuri
 
Chapter 1 overview-stij3053 - Network Design
nakomuri
 
Chapter 3 2-remote_network_design - Network Design
nakomuri
 
Sukatan pelajaran kursus_bwff1013 - Basic Finance
nakomuri
 
Consultation hour - Basic Finance
nakomuri
 
Ad

Recently uploaded (20)

PPTX
Tugas Kelompok_Pengantar Teknologi Informasi
heru182956
 
PPTX
Materi GATI (Gerakan Ayah Teladan Indonesia)NEW.pptx
SherrenWellya
 
PPTX
HO. BUDAYA KERJA BER AKHLAK SMP 2 KRANGGAN.pptx
MAHFUDALWI1
 
PPTX
KEPEMIMPINAN AISYIYAH MASA DEPANoke.pptx
ssuserc1c26b2
 
PPTX
PELAKSANAAN (di Htl ASYANA Jkt, 03-04 Juli'25) + Link2 MATERI Training *"PROC...
Kanaidi ken
 
PPTX
Pengembangan Diri Pelatih Pembina Pramuka.pptx
ArifFauzi1305
 
PPTX
Power Point Implementasi Kurikulum CInta .pptx
Azwarman2
 
PDF
Kedaulatan Energi dalam Arsitektur Geoekonomi Baru
Dadang Solihin
 
PPTX
Proposal dan Laporan Penelitian Mahasiswa.pptx
Mukhamad Fathoni
 
PDF
Materi Training Mengenal Multiple Intelligences dan Penerapannya dalam Pembel...
Namin AB Ibnu Solihin
 
PPT
metode-penelitian-kuantitatif-kualitatif.ppt
AghaAfkar
 
PDF
1. Bahan Bacaan Pola Pikir Bertumbuh.pdf
PrijonugrohoheruDjat1
 
PDF
Pengembangan Media Microlearning Dengan Model Pembelajaran Project Based Lear...
MuhammadRafeliFakhli
 
PDF
Awareness ISO 9001 2015 training material rev.1.pdf
dinilestari251
 
PDF
Potensi dan Tantangan Implementasi Dana Kekayaan Negara dalam Pembangunan Eko...
Dadang Solihin
 
PDF
Materi Kelas Bedah Kitab Amsal Pasal 1-10 (BKA)
SABDA
 
PDF
Teknis Diskusi Kelas Bedah Kitab Amsal Pasal 1-10 (BKA)
SABDA
 
DOCX
KKTP Bahasa Indonesia kelas 4 dengan menggunakan Kurikulum merdeka
NurHasanah552748
 
DOCX
Proposal Pengabdian Kepada Masyarakat (PKM/PEMA)
Sahmiral Amri Rajagukguk
 
DOCX
Silabus Pelatihan "ASSET INTEGRITY MANAGEMENT SYSTEM (AiMS)_Memastikan Aset d...
Kanaidi ken
 
Tugas Kelompok_Pengantar Teknologi Informasi
heru182956
 
Materi GATI (Gerakan Ayah Teladan Indonesia)NEW.pptx
SherrenWellya
 
HO. BUDAYA KERJA BER AKHLAK SMP 2 KRANGGAN.pptx
MAHFUDALWI1
 
KEPEMIMPINAN AISYIYAH MASA DEPANoke.pptx
ssuserc1c26b2
 
PELAKSANAAN (di Htl ASYANA Jkt, 03-04 Juli'25) + Link2 MATERI Training *"PROC...
Kanaidi ken
 
Pengembangan Diri Pelatih Pembina Pramuka.pptx
ArifFauzi1305
 
Power Point Implementasi Kurikulum CInta .pptx
Azwarman2
 
Kedaulatan Energi dalam Arsitektur Geoekonomi Baru
Dadang Solihin
 
Proposal dan Laporan Penelitian Mahasiswa.pptx
Mukhamad Fathoni
 
Materi Training Mengenal Multiple Intelligences dan Penerapannya dalam Pembel...
Namin AB Ibnu Solihin
 
metode-penelitian-kuantitatif-kualitatif.ppt
AghaAfkar
 
1. Bahan Bacaan Pola Pikir Bertumbuh.pdf
PrijonugrohoheruDjat1
 
Pengembangan Media Microlearning Dengan Model Pembelajaran Project Based Lear...
MuhammadRafeliFakhli
 
Awareness ISO 9001 2015 training material rev.1.pdf
dinilestari251
 
Potensi dan Tantangan Implementasi Dana Kekayaan Negara dalam Pembangunan Eko...
Dadang Solihin
 
Materi Kelas Bedah Kitab Amsal Pasal 1-10 (BKA)
SABDA
 
Teknis Diskusi Kelas Bedah Kitab Amsal Pasal 1-10 (BKA)
SABDA
 
KKTP Bahasa Indonesia kelas 4 dengan menggunakan Kurikulum merdeka
NurHasanah552748
 
Proposal Pengabdian Kepada Masyarakat (PKM/PEMA)
Sahmiral Amri Rajagukguk
 
Silabus Pelatihan "ASSET INTEGRITY MANAGEMENT SYSTEM (AiMS)_Memastikan Aset d...
Kanaidi ken
 

C programming language notes (4)

  • 1. -1- 4 OPERATOR DAN UNGKAPAN Data yg disimpan di dlm ingatan (lihat bab 3) boleh diolah dgn menggunakan operator . C mempunyai 45 operator utk mengolah berbagai jenis data. 4.1 Operator Beberapa operator telah diperkenalkan sebelum ini: + operator tambah - operator tolak = operator umpukan O p e r a t o r d i g u n a k a n u t k m e n g g a b u n g k a n o p e r a n (pembolehubah@pemalar) menjadi ungkapan. Ungkapan yg ditamatkan dgn ; menjadi kenyataan.: ungkapan gaji + elaun - hutang kenyataan pendapatan = gaji + elaun - hutang; Bab 4 luasBulatan = PI * jejari * jejari ; pemalar pembolehubah operan Cth satu kenyataan: ungkapan Operator terbahagi kepada:- i) operator aritmetik ii) operator hubungan iii) operator logik Dlm bab ini kita akan belajar fungsi operator2 tertentu & syarat2 penggunaannya. (C) Dayang & Rosbi 2001 4.2 Operator aritmetik Operator aritmetik dalam C terbahagi kepada 2:- i) unari ii) binari -2-Bab 4 (C) Dayang & Rosbi 2001 4.2.1 Operator Aritmetik unari Operator unari dikenakan kpd satu pembolehubah shj. Operator Fungsi + operator positif - operator negatif ++ operator tokok -- operator susut ! operator TIDAK/NOT ~ operator salingan/pelengkap satu & operator alamat bagi sesuatu pembolehubah * operator kandungan sesuatu alamat sizeof saiz sesuatu pembolehubah dlm bait main() { int x, c; c = -64; x = +c; /* x = -64 */ x = -c; /* x = 64 */ x = ++c; /* x = 65 */ x = --c; /* x = 64 */ c = sizeof x; /* c = 2 */ c = ~c; /* c = 253 */ } Jika operator tokok dan susut dikenakan selepas (posfix)satu pembolehubah, nilai pembolehubah tersebut yg asal akan digunakan dan selepas itu baru nilai pembolehubah tersebut ditokok @ disusut. main() { int x,xcc,xtt; x = 24; xcc = x++; xtt = ++x; printf( "x= %d, xcc= %d , xtt= %d", x, xcc, xtt); } Keluaran skrin: x= 26, xcc= 24, xtt= 26
  • 2. Contoh: main() { int x, y, z; x =10; y = 17; z = x + y; /* z diumpukkan dgn. nilai 27 */ y = y - x; /* y diumpukkan dgn. nilai 7 */ x = y * z; /* x diumpukkan dgn. nilai 189 */ z = x / 20; /* z diumpukkan dgn. nilai 9 */ y = z % x; /* y diumpukkan dgn. nilai 9 */ } + operator tambah - operator tolak * operator darab / operator bahagi % operator hasil bahagi @ modulus (integer shj.) operator yang terletak di antara dua operan. Simbol pewakilan operator binari: 4.2.2 Operator Aritmetik binari / - Melakukan operasi bahagi ttp. bila digunakan dgn pembolehubah integer ia akan memberikan hasil bhg integer(no. bulat). Contoh: 7.0/2.0 hasil 3.5 7.0/2 hasil 3.5 7/2.0 hasil 3.5 7/2 hasil 3 i) Operator / & % %- Memberi nilai baki bg pembahagian 2 no. HANYA boleh digunakan bersama nilai atau operan berjenis integer Contoh: 7%2 hasil 1 -3-Bab 4 (C) Dayang & Rosbi 2001 4.2.2 Operator Aritmetik binari (samb....) -4-Bab 4 (C) Dayang & Rosbi 2001 Contoh operasi / & % : 3 2 7 6 1 7/2 7%2 2 100 299 200 99 299/100 299%100 ii) Penggunaan Jenis Data Pelbagai dlm Ungkapan Aritmetik binari Dlm satu unkapan aritmetik binari, min. 2 operan & 1 operator Format: operan1 operator1 operan2 ....operatorn-1 operann Operan int & double jika kesemua operan adalah integer nilai terhasil adalah integer, jika tidak, akan menghasilkan double. Contoh: main() { int i1=3, i2=2, hasil1, hasil2; double d=2.0, hasil3, hasil4; hasil1 = i1/i2; /* 3/2 */ hasil2 = i1/d; /* 3/2.0 */ hasil3 = i1/i2; /* 3/2 */ hasil4 = i1/d; /* 3/2.0 */ } 1 1 1.0 1.5 hasil1 hasil2 hasil3 hasil4
  • 3. 4.2.2 Operator Aritmetik binari (samb....) Dari contoh berlaku pertukaran jenis data dlm satu ungkapan - pertukaran jenis data secara automatik. Pertukaran jenis data boleh diarahkan mengunakan operasi casting. -5-Bab 4 (C) Dayang & Rosbi 2001 Contoh 2: main() { int jum_markah = 456, bil_pelajar = 5; double purata_markah1, purata_markah2; purata_markah1=jum_markah/bil_pelajar; purata_markah2=(double)jum_markah / bil_pelajar; } Format cast: (jenis data) pembolehubah@ungkapan Contoh i: double a=3.0, b=2.0, hasil; hasil = a % b; /*Ralat Sintaks!!!*/ Penyelesaian: hasil = (int)a % (int)b; /*Bebas Ralat*/ 91.0 91.2 purata_markah1 purata_markah2 iii) Cast 4.3 Kenyataan dgn pelbagai operator Setakat ini kita membincangkan ungkapan menggunakan satu operator pd satu kenyataan. contoh : x= -y; x = y + z; -6-Bab 4 (C) Dayang & Rosbi 2001 Contoh: int z, y=-5; z= 8 - 3 + 9 / 2 + 2 * - y; z= 8 - (3 + 9 / 2) + 2 * - y; Perlukan syarat keutamaan utk memproses aritmetik tersebut. Kadar Keutamaan operator unari adalah seperti berikut: ( ) unari : - + -- ++ *, /, % binari : +, - Jika pelbagai operator dlm satu ungkapan spt: x= -y + z * 7 % 2 /++z; keutamaan berkurangan 8 - 3 + 9 / 2 + 2 * - y 8 - ( 3 + 9 / 2 ) + 2 * - y 1: - 5 3: * 10 2: / 4 arah proses jika terdpt lebih dari 1 4: - 5 5: + 6: + 9 19 3: - 5 4: * 10 1: / 4 2: + 6: + 7 11 5: - 1
  • 4. 4.3 Ungkapan dgn pelbagai operator (samb....) Mengetahui syarat keutamaan utk memproses aritmetik membantu kita memahami bgm C memproses kenyataan. TTp utk menghasilkan kod aturcara yang mudah dibaca penggunaan ( ) amat digalakkan. contoh x*y*z+y/b-c lebih mudah difahan jika x*((y*z)+y)/(b-c ) -7-Bab 4 (C) Dayang & Rosbi 2001 Contoh formula math & kenyataan C: Formula kenyataan C b2 - 4ac b * b - 4 * a * c a + b (a + b) / (c + d) c + d 1 1/ (1 + x * x) 1 + x2 4.4 Penyataan Umpukan = pernyataan umpukan menggunakan simbol =. Operator umpukan ini juga boleh digunakan dalam 2 cara: i) pernyataan umpukan berganda ii) pernyataan umpukan kompaun i) pernyataan umpukan berganda Terdapat lebih dari satu operator (=) dalam sesuatu pernyataan umpukan berganda. Contoh 1: int a=b=c=d=e=250; Contoh 2: int b=2, nombor=0, jum=0, purata=3; nombor= b = 10 + (jum=10-purata); printf("n%d %d %d %d", b , nombor, jum, purata); Output: 17 17 7 3 -8-Bab 4 (C) Dayang & Rosbi 2001 4.4 Penyataan Umpukan = (samb....) ii) pernyataan umpukan kompaun Kenyataan yg memudahkan kenyataan berikut: pembolehubah = pembolehubah operator ungkapan; kepada: pembolehubah operator= ungkapan; Contoh: masa = masa -1; /*sama*/ masa -= 1; bil = bil + 1; /*sama*/ bil += 1; jum_ti = jum_ti + ti; /*sama*/ jum_ti += ti; n = n * (x + 1); /*sama*/ n *= x + 1; Gabungan beberapa operator yang dibenarkan adalah seperti berikut: += %= -= /= *= 4.5 Fungsi Perpustakaan Matematik Setakat ini kita mengenali operator math yg mudah spt +, -, *, / dan %. Ttp ini tidak cukup utk menyelesaikan masalah spt: x |q+z| h 3 12.3 Rutin/fungsi utk sesetengah pengiraan penting ini telah disediakan C. Fungsi ini boleh dipanggil bersama dengan arahan prapemproses #include. Contoh 2 panggilan perpustakaan matematik: #include <math.h> #include <stdlib.h>
  • 5. -9-Bab 4 (C) Dayang & Rosbi 2001 4.5 Fungsi Perpustakaan Matematik (samb....) Beberapa fungsi dpd perpustakaan matematik: fungsi fail perpus. tujuan@nilai argumen hasil dikembalikan & cth abs(x) stdlib.h mutlak x int int abs(-5) hasil 5 exp(x) math.h ex double double exp(1.0) hasil 2.71828 log(x) math.h loge(x) double double log(2.71828) hasil 1.0 pow(x,y) math.h xy double, double pow(0.16, 0.5) hasil 0.4 double sqrt(x) math.h x dan x >=0.0 double double sqrt(2.25) hasil 1.5 Contoh operasi fungi sqrt dlm kotak hitam: punca ganda dua x fungsi sqrt x = 16.0 hasil = 4.0 4.6 Operator hubungan Operator hubungan digunakan utk melakukan perbandingan. Ia digunakan oleh suruhan2 yg membuat keputusan. Ia memerlukan 2 pembolehubah. Perhatikan: x = 5 bermaksud berikan nilai 5 kpd pembolehubah x x == 5 bermaksud bandingkan samada nilai x sama dgn 5 Jangan terkeliru operator umpukan dgn operator sama dgn ! Hasil dari operator hubungan ialah samada BENAR (TRUE) atau PALSU (FALSE). Dlm C, PALSU diwakili oleh nombor/nilai sifar (0) dan BENAR oleh sebarang nombor bukan sifar( biasanya 1). Contoh: kenyataan : y = (4 == 5) akan memberikan y nilai sifar kenyataan : y = (x <= z) memberikan y nilai bukan sifar jika x lebih kecil atau sama dgn z memberikan y nilai sifar jika x lebih besar dari z 4.7 Operator logik Operator logik digunakan utk menggabungkan beberapa ungkapan yg mengandungi operator hubungan. Berguna utk melakukan perbandingan kompleks bagi membuat keputusan. < kurang dari <= kurang dari atau sama dgn > lebih besar dari >= lebih besar dari atau sama dgn == sama dgn != tidak sama dgn && DAN (AND) || ATAU (OR) ! TIDAK (SALINGAN) -10-Bab 4 (C) Dayang & Rosbi 2001
  • 6. Jika ungkapan1 dan ungkapan2 adalah ungkapan2 yg mengandungi operator hubungan mudah spt x < 10, z == 0 dsbnya, maka: ungkapan1 && ungkapan2 adalah BENAR jika & hanya jika kedua2 ungkapan adalah BENAR ungkapan1 || ungkapan2 adalah BENAR jika satu atau kedua2 ungkapan adalah BENAR !ungkapan1 adalah BENAR jika ungkapan1 adalah PALSU dan sebaliknya Contoh: a) (6 > 2) && (3==3) adalah BENAR b) (6 < 2) && (3==3) adalah PALSU c) ! ( (6 < 2) && (3==3) ) adalah BENAR d) j != 0 && (x/10 < 3) adalah BENAR jika j bukan sifar dan x lebih kecil dari 30 e) (12 != 12) || ((2 > 1) && 5 ==2)) f) !(10==10) || (20 <= 22) || 2000 g) -100 && -155 h) x = ( (9==0) && (1<1) ) Aturan ungkapan1 dan ungkapan2 dinilai adalah dari kiri ke kanan. Oleh itu utk memastikan ungkapan2 dinilai spt yg dikehendaki, gunakan kurungan '( )' utk menentukan aturan ungkapan2 dinilai. -11-Bab 4 (C) Dayang & Rosbi 2001 4.7 Operator logik (samb...) 1. Diberi pengenalan pemalar dan pembolehubah #define PI 3.14159 #define MAX_I 1000 ..... double x, y; int a, b, i; -12-Bab 4 (C) Dayang & Rosbi 2001 Latihan yang mana menunjukkan kepada pernyataan yang sah (cari nilai yang disimpan oleh setiap pernyataan) dan yang mana tidak sah (kenapa). anggap pembolehubah a adalah 3, b adalah 4, dan y adalah -1.0. a. i = a % b; b. i = (989 - MAX_I) / a; c. i = b % a; d. x = PI * Y; e. i = a / -b; f. x = a / b; g. x = a % (a / b); h. i = b / 0; i. i = a % (990 - MAX_I); j. i = (MAX_I - 990) / a; k. x = a / y; l. i = PI * a; m. x = PI / y; n. x = b/a; o. i = (MAX_I - 990) % a; p. i = a % 0; q. i = a % (MAX_I -990); 2. Anggapkan anda mempunyai pengenalan pembolehubah berikut: int color, lime, straw, kuning, merah, oren; double hitam, putih, hijau, biru, unggu, crayon; Cari niali setiap pernyataan a.-f. yg mana nilai pembolehubah 'color' adalah 2, 'hitam' adalah 2.5, 'crayon' adalah -1.3, 'straw' adalah 1, 'merah' adalah 3, 'unggu' adalah 0.3E + 1. a. putih = color * 2.5 / unggu; b. hijau = color / unggu; c. oren = color / red; d. biru = (color + straw) / (crayon +0.3); e. lime = merah / color + red % color; f. unggu = straw / merah * color;