Pertemuan 07-08 Operand dan Operator Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.

Презентация:



Advertisements
Похожие презентации
Pertemuan 9-10 Operasi Looping (Pengulangan) Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Advertisements

by : R. Heroe Siswojo KeywordJuml MemoriJangkauan Nilai Integer Short Int atau Short Long Int atau Long 16 bit 32 bit s/d
Pertemuan Pengantar Bahasa C Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Pertemuan Operasi Input Output Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Pertemuan Algoritma dan Pemrograman Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
Algoritma rekursif dan relasi rekurensi. Deskripsi Materi ini membahas tentang algoritma rekursif beserta relasi rekurensnya.
Pertemuan Pointer dan Array Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
JARINGAN KOMPUTER IP Addressing. IP ADDRESS Section 1.
Berbagai Jenis Lisensi dan Berkembangnya Perangkat Lunak Bebas.
Pertemuan Operasi Seleksi Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6 1.
Nonot Wisnu Karyanto. UTS Konsep Dasar Berkas Perangkat Keras dan Parameternya Bloking dan Buffering Penyimpanan Data Organisasi File File Sequensial.
ORGANISASI BERKAS. Organisasi Berkas ialah suatu teknik atau cara untuk menyatakan dan menyimpan record-record dalam sebuah berkas / file Ada 4 teknik.
Pertemuan Fungsi Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1.
PROGRAM PENGOLAH ANGKA (MICROSOFT EXCEL). PROGRAM PENGOLAH ANGKA MICROSOFT EXCEL Program pengolah angka yang bernaung di bawah sistem operasi Windows.
Pertemuan 1 – Pengantar Organisasi Komputer Erwin Christiant S.Kom - Arsitektur dan Organisasi Komputer.
1 Asimtotik. Deskripsi Materi ini membahas tentang Notasi asymptotic.
Sistem Operasi Proses dan Penjadwalan Prepared By Team Teaching Presented by WIN & TGW.
HTML singkatan dari HyperText Markup Language menentukan tampilan suatu teks dan tingkat kepentingan dari teks tersebut dalam suatu dokumen. Software.
DIAGRAM KEPUTUSAN (DECISION TREE) Susi Sulandari.
Architectural Design. FASE PENGEMBANGAN DAN DESAIN SOFTWARE Design Code Generation (manual or automatic) Testing Setiap langkah melakukan transformasi.
Транксрипт:

Pertemuan Operand dan Operator Matapelajaran: TIK 2 /Algoritma dan Pemograman Tahun: 2011/2012 Versi: 1 1

Learning Outcomes Pada akhir pertemuan ini, diharapkan peserta didik akan mampu : Membuat statement / instruksi dengan berbagai operator yang ada pada bahasa C (C3) 2

Outline Materi Jenis-jenis Operator Operator Penugasan (assignment) Operator Logika Operator Aritmetika Operator Relasional Operator Bitwise 3

Operator dan Operand Operator adalah simbol yang mengolah nilai pada operand dan menghasilkan satu nilai baru. Contoh : C = A + B (= dan + adalah operator, sedangkan A, B dan C adalah operand) Operator dapat dibedakan menjadi tiga berdasarkan jumlah operand-nya, yaitu : Unary operator Binary operator Ternary operator Unary operator memerlukan satu operand, dan binary operator memerlukan dua operand, sedangkan Ternary operator memerlukan 3 operand. 4

Operator Berdasarkan jenis operasinya, operator dalam bahasa C dapat dikelompokkan : Operator Penugasan (assignment operator) Operator Logika Operator Aritmatika Operator Relasional Operator Bitwise Operator Pointer 5

Operator Penugasan (assignment) Termasuk Binary operator Digunakan untuk memberikan nilai kepada suatu Operand. Sintak sbb: Operand1 = Operand2; Operand di sebelah kiri (Operand1) harus memiliki address (L-Value) seperti variabel, sedangkan operand disebelah kanan (Operand2) bisa suatu konstanta, variabel lain, ekspresi atau fungsi. 6

Operator Penugasan Contoh x = 2;// konstanta x = y;// variabel lain x = 2 * y;// ekspresi x = sin (y);// fungsi Tipe hasil operasi disesuaikan dengan tipe operand sebelah kiri. int x = 7/2; /*nilai x sama dgn 3 */ float y = 3;/*nilai y sama dengan */ 7

Operator Aritmatika Digunakan untuk melakukan operasi matematis SimbolFungsiContoh +Penambahanx = y + 6; -Pengurangany = x – 5; *Perkaliany = y * 3; /Pembagianz = x/y; %ModuloA = 10 % 3; ++Incrementx++; --Decrementz--; ()Menaikan Priorityx=(2+3)*5 8

Operator Aritmatika Modulo: Simbol : % Termasuk Binary operator 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 Increment dan Decrement: Simbol : ++(increment), --(decrement) Termasuk unary operator Menaikkan (++) dan menurunkan (--) nilai variabel dengan nilai 1 Posisinya bisa didepan (pre) atau dibelakang (post) variabel 9

Operator Aritmatika Contoh: N++; //post increment ++N; //pre increment N--; //post decrement --N; //pre decrement Jika statement increment stand alone. Maka N++; atau ++N; sama artinya N=N+1; Jika statement decrement stand alone. Maka N--; atau --N; sama artinya N=N-1; 10

Operator Aritmatika Contoh: 11 #include int main () { int x = 44; int y = 44; ++x; printf(x = %d\n, x);/* hasilnya 45 */ y++; printf(y = %d\n, y);/* hasilnya 45 */ } #include int main () { int x = 44; int y = 44; ++x; printf(x = %d\n, x);/* hasilnya 45 */ y++; printf(y = %d\n, y);/* hasilnya 45 */ }

Operator Aritmatika Jika ++n dan n++ sebagai statement yang terikat dalam ekspresi lainnya (sub expresi), keduanya mempunyai arti yang berbeda. ++n -> n ditambah 1, baru diproses terhadap ekspresinya n++ -> n langsung diproses terhadap ekspresinya tanpa ditambah 1 terlebih dahulu, pada saat selesai baru n ditambah 1 12 int main () { int x=44; int y = 44; int z; z = ++x ;/* z, x nilainya 45 */ z = y++ ;/* z nilainya 44 dan y nilainya 45 */ return(0); } int main () { int x=44; int y = 44; int z; z = ++x ;/* z, x nilainya 45 */ z = y++ ;/* z nilainya 44 dan y nilainya 45 */ return(0); }

Operator Aritmatika Setiap ekspesi yang berbentuk : = ; dapat diganti dengan : = ; Operator ini sering disebut dengan Combined Operator. EkspresiDapat diganti dengan a = a + b;a += b; a = a – b;a -= b; a = a * b;a *= b; a = a / b;a /= b; a = a % b;a %= b; a = a ^ b ;a ^= b; 13

Operator Aritmatika Contoh soal : x *= y +1; artinya sama dengan : A.x = x * (y + 1); B.x = x * y + 1; C.x = x + 1 * y; D.x = (x + 1) * y; Jawab: A 14

Operator Relasional Digunakan untuk membandingkan dua nilai, dan hasilnya TRUE atau FALSE SimbolFungsi = Sama Dengan !=Tidak Sama Dengan <Lebih Kecil Dari > Lebih Besar Dari <=Lebih Kecil atau Sama Dengan >=Lebih Besar atau Sama Dengan ?:Conditional assignment 15

Operator Relasional TRUE dalam bahasa C nilainya Tidak sama dengan NOL FALSE dalam bahasa C nilainya sama dengan NOL Sedangkan nilai TRUE yang diset oleh program C saat run time nilainya sama dengan 1 16

Operator Relasional Contoh : 17 #include int main() { int x=5,y=6; if ( x == y) printf("%d sama dengan %d\n",x,y); if ( x != y) printf("%d tidak sama dengan %d\n",x,y); if ( x < y) printf("%d lebih kecil daripada %d\n",x,y); if ( x > y) printf("%d lebih besar daripada %d\n",x,y); if ( x <= y) printf("%d lebih kecil atau sama dengan %d\n",x,y); if ( x >= y) printf("%d lebih besar atau sama dengan %d\n",x,y); return(0); } #include int main() { int x=5,y=6; if ( x == y) printf("%d sama dengan %d\n",x,y); if ( x != y) printf("%d tidak sama dengan %d\n",x,y); if ( x < y) printf("%d lebih kecil daripada %d\n",x,y); if ( x > y) printf("%d lebih besar daripada %d\n",x,y); if ( x <= y) printf("%d lebih kecil atau sama dengan %d\n",x,y); if ( x >= y) printf("%d lebih besar atau sama dengan %d\n",x,y); return(0); }

Operator Relasional Contoh: int x; x = (20 > 10); //nilai x sama dgn 1 X= (20 == 10); //nilai x sama dgn 0 18

Conditional Expressions Stetement sbb: if(a > b) z = a; else z = b; Statement diatas bisa diganti dengan conditional expression. Conditional expression menggunakan ternary operator ?: Sintak : exp1 ? Exp2 : exp3; Contoh yang sama artinya dgn statement diatas: z = (a > b) ? a : b; 19

Conditional Expressions Contoh : 20 int main () { int kode, diskon=0; kode=1; diskon = (kode == 1) ? 30 : 10; printf(Diskon item = %d \n,diskon); Return(0); } int main () { int kode, diskon=0; kode=1; diskon = (kode == 1) ? 30 : 10; printf(Diskon item = %d \n,diskon); Return(0); } int main () { int bil, abs; bil = 50; abs = (bil > 0) ? bil : - bil; printf(%d \n,abs); bil = - 50; abs = (bil > 0) ? bil : - bil; printf(%d \n,abs); return(0); } int main () { int bil, abs; bil = 50; abs = (bil > 0) ? bil : - bil; printf(%d \n,abs); bil = - 50; abs = (bil > 0) ? bil : - bil; printf(%d \n,abs); return(0); }

Operator Logika Digunakan untuk melakukan operasi logika Hasil operasi bernilai TRUE atau FALSE, seperti Table Kebenaran berikut: SimbolFungsi &&AND ||OR !NOT AB!AA && BA || B True FalseTrue False True FalseTrue FalseTrue False TrueFalse 21

Operator Logika Operand pada operator logika dianggap operand yang mempunyai nilai TRUE atau FALSE. Contoh: int x=5; int y=0; x && y; //FALSE (x > y) && (y>=0); //TRUE 22

Operator Bitwise SimbolFungsiContoh &ANDA & B | ORA | B; ^ XORA ^ B; ~Complement 1~A; >> Shift RightA >> 3; << Shift LeftB << 2; 23

Operator Bitwise Operasi nya bit per bit Contoh : int A=24; int B=35; int C; C=A & B; //nilai C = 0 C=A | B; //nilai C = A=24 Binernya: B=35 Binernya: Bit per bit di AND kan Hasilnya : desimalnya 0 JIka Bit per bit di OR kan Hasilnya : desimalnya 59

Operator Bitwise Dua buah bit di-XOR-kan akan menghasilkan 1 jika kedua bit tersebut berbeda, dan akan menghasilkan 0 jika kedua bit tersebut sama. Contoh: int A,B=45; A=B^75; //Nilai A= Desimal 45 binernya: Desimal 75 binernya: Kemudian bit per bit di XOR kan maka hasilnya: atau (102 desimal).

Operator Bitwise Untuk membuat complement-1, maka setiap bit yg nilainya 0 dirubah menjadi 1 dan sebaliknya. Contoh: int A, B=0xC3; A=~B; //nilai A=0x3C; 26 Untuk menulis bilangan dlm notasi hexadesimal pada C digunakan 0x diawal bilangan tersebut. 0xC3 binernya: Di-komplemen-1 hasilnya: atau dlm notasi hexadecimal menjadi 3C

Operator Bitwise Contoh: int A, B=78; A = B >> 3; //nilai A=9 A = B << 2; //nilai A= binernya: Geser kekanan yang ke-1 : Geser kekanan yang ke-2 : Geser kekanan yang ke-3 : => 9 desimal 78 binernya: Geser kekiri yang ke-1 : Geser kekiri yang ke-2 : => 312 desimal

Operator Pointer Pointer operator terdiri dari : & (address of) * (value of) 28 AKAN DIBAHAS PADA TOPIK POINTER

Precedence dan Associativity Setiap Operator memiliki Presedensi dan assosiativitas. Presedensi menentukan urutan pengerjaan / pengeksekusian operator berdasarkan tingkat / prioritas. Operator yang memiliki tingkat presedensi lebih tinggi akan dikerjakan lebih dahulu. Assosiativitas menentukan urutan pengerjaan / pengeksekusian operator berdasarkan lokasinya dalam sebuah ekspresi, (apakah dari kiri atau dari kanan). Assosiativitas berlaku untuk operator-operator yang memiliki presedensi yang sama. 29

Tabel Precedence dan Associativity 30

Pengaruh Precedence dan Associativity 31

Latihan Jika semua variabel bertipe integer, maka tentukan nilai A sbb: B=23; C=12; D=32; E=0; 1.A = B && E; 2.A = B & C; 3.A = C || D; 4.A = B | D; 5.A = B > 2; 6.A = B >> 2; 7.A = C < 3; 8.A = C << 3; 9.A = B = C; 10.A = B == C; 32

Latihan Sebutkan contoh operator yang termasuk : 1.Unary Operator 2.Binary Operator 3.Ternary Operator Sebutkan beberapa operator yang bisa berfungsi sebagai unary dan binary operator, dan berikan contohnya. 33

Latihan #include int main() { int x=10, y=6; x *= 5 + y; printf("%d\n",x); return(0); } Berapa nilai x yang dicetak dilayar monitor ? 34

Latihan 35 Berapa nilai x yang ditampilkan di layar monitor ?

Latihan 36 Berapa nilai y yang ditampilkan di layar monitor ?

Latihan 37 Apa yang ditampilkan di layar monitor oleh 4 program diatas ?

Latihan z = (n > 0) ? f : b; Perhatikan conditional expression diatas, bolehkah f dan b memiliki tipe data yang berbeda ? 38