Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dasar Pemrograman Komputer

Presentasi serupa


Presentasi berjudul: "Dasar Pemrograman Komputer"— Transcript presentasi:

1 Dasar Pemrograman Komputer
Ekspresi, Pernyataan & Operasi Aritmetika/Logika Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB

2 Ekspresi, Pernyataan & Operasi Aritmetika/Logika
Ekspresi (expression) Pernyataan (statements) Operator Penugasan (assignment) Operator Aritmetika Operator Logika Operator Relasional Operator Bitwise Operator Pointer Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

3 Ekspresi (Expression)
Ekspresi adalah segala sesuatu yang jika dievaluasi akan menghasilkan suatu nilai Ekspresi bisa berupa: sebuah konstanta sebuah variabel sebuah ekspresi yang dioperasikan dengan ekspresi lain pemanggilan sebuah fungsi Contoh: 1 x x = 1 hasil = 1 + 2 1 * 2 * 3 x + y printf(“Salam untuk alam semesta!\n”) Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

4 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Ekspresi Operasi Komponen utama operasi adalah operand dan operator Operand dapat berupa variabel, konstanta, nilai data konstan maupun fungsi. Setiap operand harus memiliki nilai data. Operator adalah simbol yang mengolah nilai pada operand dan menghasilkan satu nilai baru. Contoh: x = 10 // operasi penugasan; operand: x dan 10; // operator: = y = x + 1 // operasi penjumlahan dan penugasan Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

5 Pernyataan (Statements)
Secara sederhana analogis dengan ‘kalimat’ dalam bahasa natural. Sebuah pernyataan membentuk unit eksekusi yang komplit (a complete unit of execution), dapat dieksekusi oleh komputer. Ekspresi dapat diubah menjadi pernyataan (sehingga dapat dieksekusi) dengan mengakhiri penulisannya dengan titik koma atau semicolon (;) Contoh: x = 10; y = x + 1; printf(“%d”, x); x++; Contoh di atas termasuk pernyataan ekspresi (expression statements) Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

6 Pernyataan (Statements)
Selain pernyataan ekspresi, ada macam pernyataan lainnya, yaitu pernyataan deklarasi (declaration statement) dan pernyataan aliran kendali (control flow statement) Contoh pernyataan deklarasi: int x; char ch = ‘A’; Pernyataan aliran kendali dapat berupa pencabangan bersyarat (selection) atau pengulangan (repetition). Akan dibahas di topik lain kelak. Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

7 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Didasarkan atas jumlah operand, operator dapat dibedakan menjadi tiga jenis, yaitu : Unary operator Binary operator Ternary operator Unary operator memerlukan 1 operand, binary operator memerlukan 2 operand, sedangkan ternary operator memerlukan 3 operand. Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

8 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Berdasarkan jenis operasinya, operator dalam bahasa pemrograman C dapat dikelompokkan : Operator Penugasan (assignment operator) Operator Aritmetika Operator Logika Operator Bitwise Operator Relasional Operator Pointer Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

9 Operator Penugasan (assignment)
Termasuk binary operator Digunakan untuk memberikan nilai kepada suatu operand. Sintaksis: operand1 operator operand2; operand1 harus berupa variabel, sedangkan operand2 dapat sembarang operand termasuk variabel dari operand1 . Arah pengerjaan (asosiasivitas) operator penugasan dari kanan ke kiri. Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

10 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Penugasan Contoh x = 2; // konstanta x = y; // variabel lain x = 2 * y; // ekspresi a = sin (y); // fungsi Tipe hasil operasi disesuaikan dengan tipe operand sebelah kiri. int x = 7/2; /*nilai x sama dengan 3 */ float y = 3; /*nilai y sama dengan */ Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

11 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Aritmetika Digunakan untuk melakukan operasi matematika Simbol Fungsi Contoh + Penambahan x = y + 6; - Pengurangan y = x – 5; * Perkalian y = y * 3; / Pembagian z = x/y; % Modulo A = 10 % 3; ++ Increment x++; -- Decrement z--; () Menaikan prioritas x=(2+3)*5 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

12 Presedensi & Asosiasivitas
Presedensi menentukan urutan pengerjaan operator berdasarkan prioritas. Operator yang memiliki tingkat presedensi lebih tinggi akan dikerjakan lebih dahulu. Misal: x + y * z Tanda * untuk perkalian berpresedensi lebih tinggi daripada tanda + untuk penjumlahan y * z dikerjakan lebih dulu, baru x ditambahkan hasil perkalian tersebut Asosiativitas menentukan arah operasi sebuah ekspresi (dari kiri ke kanan, atau dari kanan ke kiri). Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

13 Presedensi & Asosiasivitas
Asosiativitas menentukan arah operasi sebuah ekspresi (dari kiri ke kanan, atau dari kanan ke kiri). a = 10; /* operasi penugasan, dari kanan ke kiri */ x + y; /* operasi penjumlahan, dari kiri ke kanan */ z = x + y; /* kombinasi operasi penjumlahan dan penugasan: 1. cek presedensi 2. cek asosiasivitas */ Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

14 Presedensi & Asosiasivitas
KATEGORI SIMBOL NAMA PRIORITAS ARAH PENGERJAAN Resolusi lingkup :: 1 Kiri-Kanan Kurung, indeks larik (array) dan elemen struktur data () Kurung 2 [] Elemen larik (array) -> Pointer ke anggota struktur atau kelas . Anggota struktur, union atau kelas Operator unary ++ Pre-increment 3 Kanan-Kiri -- Pre-decrement ! Logika NOT ~ Komplemen bitwise - Unary minus + Unary plus & Alamat * Indirection (type) Type casting sizeof Ukuran tipe data new Alokasi memori delete Dealokasi memori Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

15 Presedensi & Asosiasivitas
KATEGORI SIMBOL NAMA PRIORITAS ARAH PENGERJAAN Operator aritmatika perkalian * Perkalian 4 Kiri-Kanan / Pembagian % Sisa pembagian Operator penambahan + Penambahan 5 - Pengurangan Pergeseran bit << Geser kiri 6 >> Geser kanan Operator relasional < Lebih kecil daripada 7 <= Lebih kecil atau sama dengan > Lebih besar daripada >= Lebih besar atau sama dengan == Sama dengan 8 != Tidak sama dengan Operator bitwise & Bitwise AND 9 ^ Bitwise XOR 10 | Bitwise OR 11 Operator Logika && Logika AND 12 || Logika OR 13 Operator Ternary ?: Operator kondisional 14 Kanan-Kiri Operator Penugasan Majemuk =, +=, -=, *=, /=, %= Operator penugasan aritmetika 15 &=, ^=, |=, <<=, >>= Operator penugasan bitwise Operator koma , Operator Koma 16 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

16 Presedensi & Asosiasivitas
Contoh: Ditulis dalam bhs pemrograman C: x = (x * y + y * z)/(x * y – y * z); 1 2 4 5 3 6 7 8 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

17 Presedensi & Asosiasivitas
#include <stdio.h> #include <stdlib.h> int main () { int a, b, z=100; float x, y; printf("Melihat pengaruh prioritas dan urutan pengerjaan\n\n"); printf("Masukkan sebarang nilai integer: "); scanf("%d",&a); x = a/3*3; y = a*3/3; z += b = a; printf("\n\nx = %d/3*3, diperoleh x = %f\n\n",a,x); printf("y = %d*3/3, diperoleh y = %f\n\n",a,y); printf("bila z=100, maka untuk z += b = %d diperoleh z = %d\n\n\n", a,z); system("PAUSE"); return(0); } Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

18 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Aritmetika Modulo: Simbol : % Termasuk Binary operator Untuk menghitung sisa hasil bagi n % 2, dapat digunakan untuk menguji apakah integer n bernilai 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 1 Posisinya bisa di depan (pre) atau dibelakang (post) variabel Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

19 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Aritmetika Contoh: N++; //post increment ++N; //pre increment N--; //post decrement --N; //pre decrement Jika statement increment “stand alone”, maka N++; atau ++N; sama artinya dengan N=N+1; Jika statement decrement “stand alone”, maka N--; atau --N; sama artinya dengan N=N-1; Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

20 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Aritmetika Contoh: #include <stdio.h> #include <stdlib.h> int main () { int x = 44; int y = 44; ++x; printf(”x = %d\n”, x);/* x = ?*/ y++; printf(”y = %d\n”, y); /* y = ? */ system(“PAUSE”); return 0; } Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

21 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Aritmetika Jika ++n dan n++ terikat dalam ekspresi lainnya (sub expresi) pada sebuah pernyataan, 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 ekspresi tersebut selesai baru n ditambah 1 int main () { int x=44; int y = 44; int z; z = ++x; printf(“z=%d, x=%d\n”, z, x); z = y++; printf(“z=%d, y=%d\n”, z, y); return (0); } Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

22 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Combined Operator Setiap ekspesi yang berbentuk : <Variabel> = <Variabel> <Operator><Exp>; dapat diganti dengan : <Variabel> <Operator> = <Exp>; Operator ini sering disebut dengan Combined Operator. Ekspresi Dapat 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; Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

23 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Aritmetika Contoh soal: x *= y +1; artinya sama dengan : x = x * (y + 1); x = x * y + 1; x = x + 1 * y; x = (x + 1) * y; Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

24 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Logika Digunakan untuk melakukan operasi logika Operasi logika menghasilkan nilai TRUE atau FALSE Tabel kebenaran operator logika: Simbol Fungsi && AND || OR ! NOT A B !A !B A && B A || B True False Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

25 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Logika Operand pada operator logika harus mempunyai nilai boolean, yaitu TRUE atau FALSE. Dalam bahasa C: FALSE dinyatakan dalam bentuk integer bernilai 0 TRUE dinyatakan dalam bentuk integer bernilai selain 0, dengan default 1. Contoh: int x=5; int y=0, a , b; a = x && y; b = (x > y) && (y>=0); Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

26 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Relasional Digunakan untuk membandingkan dua nilai, dan hasilnya TRUE atau FALSE Simbol Fungsi = = Sama Dengan != Tidak Sama Dengan < Lebih Kecil Dari > Lebih Besar Dari <= Lebih Kecil atau Sama Dengan >= Lebih Besar atau Sama Dengan ?: Conditional assignment Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

27 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Relasional TRUE dalam bahasa pemrograman C bernilai “tidak sama dengan NOL” FALSE dalam bahasa pemrograman C bernilai “sama dengan NOL” Sedangkan nilai TRUE yang diset oleh program C saat run time bernilai sama dengan 1. Contoh: int x; x = (20 > 10); //nilai x sama dgn 1 x = (20 == 10); //nilai x sama dgn 0 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

28 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Relasional Contoh : #include<stdio.h> 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", return(0); } Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

29 Ekspresi Kondisional (Conditional Expression)
Ekspresi Kondisional menggunakan ternary operator ?: Sintaksis: exp1 ? exp2 : exp3; Jika exp1 bernilai true, maka exp2 dieksekusi. Sebaliknya jika exp1 bernilai false, maka exp3 dieksekusi. Contoh yang sama artinya dgn statement diatas: z = (a>b) ? a : b; Jika (a>b) bernilai benar maka z=a. Sebaliknya jika (a<b) bernilai salah maka z=b. Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

30 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Ekspresi Kondisional Contoh: #include <stdio.h> #include <iostream.h> int main () { int bil, abs; printf("Menentukan nilai absolut\n\n"); printf("Masukkan bilangan integer: "); scanf("%d",&bil); abs = (bil >= 0) ? bil : - bil; printf("Nilai absolutnya adalah : %d \n\n",abs); system("PAUSE"); return(0); } Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

31 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Bitwise Simbol Fungsi Contoh & AND A & B | OR A | B; ^ XOR A ^ B; ~ Complement 1 ~A; >> Shift Right A >> 3; << Shift Left B << 2; Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

32 Operator Bitwise AND, OR
Operasinya dilakukan bit per bit Contoh: a=24 (desimal) = (biner) b=35 (desimal) = (biner) (a&b) per bit menghasilkan: (biner) desimalnya 0 (a | b) per bit menghasilkan : desimalnya 59 int a=24; int b=35; int c; c = a & b; //nilai c = 0 c = a | b; //nilai c = 59 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

33 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Bitwise Dua buah bit yang di-XOR-kan akan menghasilkan 1 jika kedua bit tersebut berbeda dan akan menghasilkan 0 jika kedua bit tersebut sama. Contoh: 45 (desimal) = (biner) 75 (desimal) = (biner) Kedua angka ini bit per bit di XOR-kan untuk menghasilkan: (biner) atau 102 (desimal). int A,B=45; A=B^75; //Nilai A=102 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

34 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Bitwise Dengan menggunakan operator komplemen (~), maka setiap bit yang bernilai 0 akan diubah menjadi 1, dan sebaliknya. Contoh: int A, B=0xC3; A=~B; //nilai A=0x3C; 0xC3 (hexa) = (biner) Jika bilangan ini di-komplemenkan, akan menghasilkan: (biner) atau 0x3C (hexa) Catatan: Penulisan bilangan hexadesimal pada bahasa pemrograman C menggunakan awalan 0x atau 0X (nol-X). Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

35 Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010
Operator Bitwise Operator shift-right (>> n) dapat dipergunakan untuk menggeser sebuah bilangan biner n bit ke kanan dan memberikan nilai 0 (nol) pada sejumlah n bit paling kiri yang ditinggalkan. Operator shift-left (<< n) dapat dipergunakan untuk menggeser sebuah bilangan biner n bit ke kiri dan memberikan nilai 0 (nol) pada sejumlah n bit paling kanan yang ditinggalkan. Contoh: int A, B=78; A = B>>3; //nilai A=9 A = B<<1; //nilai A = ? Catatan: 78 (desimal) = (biner) Geser ke kanan 3 bit: = 9 Geser ke kiri 1 bit : = ? Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010

36 AKAN DIBAHAS PADA TOPIK POINTER
Operator Pointer Pointer operator terdiri dari : & (address of) * (value of) * (decalaration of pointer) AKAN DIBAHAS PADA TOPIK POINTER Ekspresi Pernyataan Operasi Aritmetika Logika - TIF UB 2010


Download ppt "Dasar Pemrograman Komputer"

Presentasi serupa


Iklan oleh Google