Dasar Pemrograman Komputer - PowerPoint PPT Presentation

About This Presentation
Title:

Dasar Pemrograman Komputer

Description:

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

Number of Views:400
Avg rating:3.0/5.0
Slides: 37
Provided by: DebbyT5
Category:

less

Transcript and Presenter's Notes

Title: Dasar Pemrograman Komputer


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

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)

4
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

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)

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.

7
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.

8
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

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.

10
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 3.000 /

11
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(23)5
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).

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 /

14
Presedensi Asosiasivitas
KATEGORI KATEGORI SIMBOL NAMA NAMA PRIORITAS ARAH PENGERJAAN
  Resolusi lingkup   Resolusi lingkup 1 Kiri-Kanan
  Kurung, indeks larik (array) dan elemen struktur data ()   Kurung 2 Kiri-Kanan
  Kurung, indeks larik (array) dan elemen struktur data   Elemen larik (array) 2 Kiri-Kanan
  Kurung, indeks larik (array) dan elemen struktur data -gt   Pointer ke anggota struktur atau kelas 2 Kiri-Kanan
  Kurung, indeks larik (array) dan elemen struktur data .   Anggota struktur, union atau kelas 2 Kiri-Kanan
  Operator unary   Pre-increment 3 Kanan-Kiri
  Operator unary --   Pre-decrement 3 Kanan-Kiri
  Operator unary !   Logika NOT 3 Kanan-Kiri
  Operator unary   Komplemen bitwise 3 Kanan-Kiri
  Operator unary -   Unary minus 3 Kanan-Kiri
  Operator unary   Unary plus 3 Kanan-Kiri
  Operator unary   Alamat 3 Kanan-Kiri
  Operator unary   Indirection 3 Kanan-Kiri
  Operator unary (type)   Type casting 3 Kanan-Kiri
  Operator unary sizeof   Ukuran tipe data 3 Kanan-Kiri
  Operator unary new   Alokasi memori 3 Kanan-Kiri
  Operator unary delete   Dealokasi memori 3 Kanan-Kiri
15
Presedensi Asosiasivitas
KATEGORI KATEGORI SIMBOL NAMA NAMA PRIORITAS ARAH PENGERJAAN
  Operator aritmatika perkalian   Perkalian 4 Kiri-Kanan
  Operator aritmatika perkalian /   Pembagian 4 Kiri-Kanan
  Operator aritmatika perkalian   Sisa pembagian 4 Kiri-Kanan
  Operator penambahan   Penambahan 5 Kiri-Kanan
  Operator penambahan -   Pengurangan 5 Kiri-Kanan
  Pergeseran bit ltlt   Geser kiri 6 Kiri-Kanan
  Pergeseran bit gtgt   Geser kanan 6 Kiri-Kanan
  Operator relasional lt   Lebih kecil daripada 7 Kiri-Kanan
  Operator relasional lt   Lebih kecil atau sama dengan 7 Kiri-Kanan
  Operator relasional gt   Lebih besar daripada 7 Kiri-Kanan
  Operator relasional gt   Lebih besar atau sama dengan 7 Kiri-Kanan
  Operator relasional   Sama dengan 8 Kiri-Kanan
  Operator relasional !   Tidak sama dengan 8 Kiri-Kanan
  Operator bitwise   Bitwise AND 9 Kiri-Kanan
  Operator bitwise   Bitwise XOR 10 Kiri-Kanan
  Operator bitwise   Bitwise OR 11 Kiri-Kanan
  Operator Logika   Logika AND 12 Kiri-Kanan
  Operator Logika   Logika OR 13 Kiri-Kanan
  Operator Ternary ?   Operator kondisional 14 Kanan-Kiri
  Operator Penugasan Majemuk , , -, , /,   Operator penugasan aritmetika 15 Kanan-Kiri
  Operator Penugasan Majemuk , , , ltlt, gtgt   Operator penugasan bitwise 15 Kanan-Kiri
  Operator koma ,   Operator Koma 16 Kiri-Kanan
16
Presedensi Asosiasivitas
  • Contoh
  • Ditulis dalam bhs pemrograman C
  • x (x y y z)/(x y y z)

1
2
4
5
6
3
7
8
17
Presedensi Asosiasivitas
include ltstdio.hgt include ltstdlib.hgt int main
() int a, b, z100 float x, y
printf("Melihat pengaruh prioritas dan urutan
pengerjaan\n\n") printf("Masukkan sebarang
nilai integer ") scanf("d",a) x
a/33 y a3/3 z b a printf("\n\nx
d/33, diperoleh x f\n\n",a,x)
printf("y d3/3, diperoleh y f\n\n",a,y)
printf("bila z100, maka untuk z b d
diperoleh z d\n\n\n", a,z)
system("PAUSE") return(0)
18
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

19
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 NN1
  • Jika statement decrement stand alone, maka N--
    atau --N sama artinya dengan NN-1

20
Operator Aritmetika
  • Contoh

include ltstdio.hgt include ltstdlib.hgt 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
21
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 x44 int y 44 int z
z x printf(zd, xd\n, z, x) z
y printf(zd, yd\n, z, y)
return (0)
22
Combined Operator
  • Setiap ekspesi yang berbentuk
  • ltVariabelgt ltVariabelgt ltOperatorgtltExpgt
  • dapat diganti dengan
  • ltVariabelgt ltOperatorgt ltExpgt
  • 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
23
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

24
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 True False False True True
True False False False False True
False True True True False True
False False True True False False
25
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 x5
  • int y0, a , b
  • a x y
  • b (x gt y) (ygt0)

26
Operator Relasional
Digunakan untuk membandingkan dua nilai, dan
hasilnya TRUE atau FALSE
Simbol Fungsi
Sama Dengan
! Tidak Sama Dengan
lt Lebih Kecil Dari
gt Lebih Besar Dari
lt Lebih Kecil atau Sama Dengan
gt Lebih Besar atau Sama Dengan
? Conditional assignment
27
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 gt 10) //nilai x sama dgn 1
  • x (20 10) //nilai x sama dgn 0

28
Operator Relasional
  • Contoh

includeltstdio.hgt int main() int x5,y6
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 lt y)
printf("d lebih kecil daripada d\n",x,y)
if ( x gt y) printf("d lebih besar daripada
d\n",x,y) if ( x lt y) printf("d lebih
kecil atau sama dengan d\n", x,y) if (
x gt y) printf("d lebih besar atau sama dengan
d\n", x,y) return(0)
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 (agtb) ? a b
  • Jika (agtb) bernilai benar maka za. Sebaliknya
    jika (altb) bernilai salah maka zb.

30
Ekspresi Kondisional
Contoh
include ltstdio.hgt include ltiostream.hgt int
main () int bil, abs
printf("Menentukan nilai absolut\n\n")
printf("Masukkan bilangan integer ")
scanf("d",bil) abs (bil gt 0) ? bil -
bil printf("Nilai absolutnya adalah d
\n\n",abs) system("PAUSE") return(0)
31
Operator Bitwise
Simbol Fungsi Contoh
AND A B
OR A B
XOR A B
Complement 1 A
gtgt Shift Right A gtgt 3
ltlt Shift Left B ltlt 2
32
Operator BitwiseAND, OR
  • Operasinya dilakukan bit per bit
  • Contoh

a24 (desimal) 011000 (biner) b35 (desimal)
100011 (biner) (ab) per bit menghasilkan 000000
(biner) desimalnya 0 (a b) per bit
menghasilkan 111011 desimalnya 59
int a24 int b35 int c c a b //nilai c
0 c a b //nilai c 59
33
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) 0101101 (biner) 75 (desimal)
1001011 (biner) Kedua angka ini bit per bit di
XOR-kan untuk menghasilkan 1100110 (biner) atau
102 (desimal).
int A,B45 AB75 //Nilai A102
34
Operator Bitwise
  • Dengan menggunakan operator komplemen (), maka
    setiap bit yang bernilai 0 akan diubah menjadi 1,
    dan sebaliknya.
  • Contoh
  • int A, B0xC3
  • AB //nilai A0x3C

0xC3 (hexa) 1100 0011 (biner) Jika bilangan ini
di-komplemenkan, akan menghasilkan 0011 1100
(biner) atau 0x3C (hexa)
Catatan Penulisan bilangan hexadesimal pada
bahasa pemrograman C menggunakan awalan 0x atau
0X (nol-X).
35
Operator Bitwise
  • Operator shift-right (gtgt 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 (ltlt 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, B78
  • A Bgtgt3 //nilai A9
  • A Bltlt1 //nilai A ?

Catatan 78 (desimal) 00100 1110 (biner) Geser
ke kanan 3 bit 000001001 9 Geser ke kiri 1 bit
010011100 ?
36
Operator Pointer
  • Pointer operator terdiri dari
  • (address of)
  • (value of)
  • (decalaration of pointer)

AKAN DIBAHAS PADA TOPIK POINTER
Write a Comment
User Comments (0)
About PowerShow.com