Mana di antara penamaan variabel berikut yang benar? Mengapa yang lain salah? a. 3n+1 b. n+1 c. 3n1 d. 3n_1 e. n_31

dokumen-dokumen yang mirip
Review #1. Review #2

Ekspresi dan Operator. Algoritme dan Pemrograman. Jenis Operator C. Operator Aritmetika. Operasi Logika 09/22/2013 ILKOM IPB 1.

Kuliah #4 Ekspresi,Operator, dan Conditional Statement

Algoritme dan Struktur Data. Ekspresi,Operator, dan Conditional Statement

9/16/2011 ILKOM IPB 1. a + b. Contoh Penggunaan Operator LOGIKA

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

Ekspresi, Pernyataan & Operasi Aritmetika/Logika

Algoritme dan Pemrograman

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while

Ekspresi, Pernyataan & Operasi Aritmetika/Logika

Pertemuan 04. Pemrograman Dasar 2012

Module 4. Ekpresi, Operator, dan Konstanta

Tipe Data, Identifier, Operator dan Control Statement

Tipe Data. Pendahuluan. Objektif. Bahan Bacaan

24/09/2017 PERCABANGAN

MODUL 2 OPERATOR DAN OPERASI KONDISI

Tujuan Instruksional. Mahasiswa mampu :

Pengumuman Pekan ke- 5

Algoritma & Pemrograman #4. by antonius rachmat c, s.kom, m.cs

Pemrograman Dasar S E L E C T I O N

Aliran Kendali (Flow Control)

PEMROGRAMAN BERORIENTASI OBJEK. Operator. Budhi Irawan, S.Si, M.T

MENGENDALIKAN PROSES PROGRAM

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement

Pengambilan Keputusan. Konsep Pemrograman Oleh Tita Karlita

Pengambilan Keputusan

Algoritma dan Struktur Data Tahar Agastani Teknik Informatika UIN

Bab 3. Decision 1 (Pengambilan Keputusan)

Aliran Kendali (Flow Control)

Minggu ke-3 Tipe Data Dalam C

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

09/09/2013 ILKOM IPB 1. Algoritme dan Pemrograman. Contoh penerapan. Kiat Sukses. Program Komputer. Kenapa belajar algoritme dan pemrograman?

OPERATOR & UNGKAPAN. Contoh operator : a + b Simbol + merupakan operator untuk melakukan operasi penjumlahan dari kedua operandnya ( yaitu a dan b ).

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Algoritma dan Pemrograman

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

SUMBER BELAJAR PENUNJANG PLPG

Control Structure. Dasar Pemrograman C Mikrokontroler AVR. Hendawan Soebhakti Oktober 2009

TIPE DATA, VARIABEL DATA DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Algoritma dan Struktur Data I 2014

MODUL III CONTROL FLOW & FLOWCHART

DASAR PEMOGRAMAN JAVA

OPERATOR BAHASA C. Obyektif : 4. Mengetahui macam-macam operator dalam Bahasa C. 5. Mengetahui dan dapat menggunakan format pada tiap tipe data..

Tipe Data dan Operator

Pemrograman Berorientasi Obyek. Operator & Assignment

Pertemuan ke-5 OPERATOR DAN EKSPRESI. 1.1 Operator Aritmatika Ada 5 operator aritmatika dalam C yaitu :

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Pengulangan for. Konstruksi for. keberadaan exp1, exp2, dan exp3 bersifat optional. for (exp1; exp2; exp3){ statement; atau. statement1; statement2;

Selection, Looping, Branching

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman.

ALGORITME DAN PEMROGRAMAN

elemen Dasar Bahasa Pemrograman C

Imam Fahrur Rozi. Algoritma dan Pemrograman OPERATOR

Algoritme dan Pemrograman

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Pemrograman Berbasis Objek Operator dan Assignment

Chapter 1 KONSEP DASAR C

Operator dan Assignment

T I P E D A T A P R I M I T I F V A R I A B E L D A N S T A T E M E N P E N U G A S A N E K S P R E S I D A N O P E R A T O R A R I T M A T I K A

Badiyanto, S.Kom., M.Kom. PBO java

BAB 3. OPERATOR DALAM BHS C

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus)

OPERATOR DAN UNGKAPAN

Ada 3 jenis struktur kontrol: Sequence Structure Selection Structure Repetition Structure Sequence Structure

Percabangan & Perulangan

MODUL IV Analisis Kasus/Pemilihan

Pertemuan 06. Dasar Pemrograman Komputer [TKL-4002] 2010

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VIII

BAB III PENGAMBILAN KEPUTUSAN

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

IF ELSE IF ELSE. BU : if (kondisi1) Statement; else if (kondisi2) Statement;

LOGIKA ALGORITMA. Pertemuan 4. By: Augury

Algoritme dan Pemrograman

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN

Pemrograman Dasar R E P E T I T I O N

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

Decission : if & if else

BAB III OPERATOR compiler operasi operand A. Operator Aritmatika Operator Penggunaan Deskripsi Latihan 4. Aritmatika.java

3. Struktur Perulangan dalam C++

BAB VI. STATEMENT CONTROL

Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek

Percabangan. Yuli Sun Hariyani

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

Basic Input/Output Operator Yoannita

Modul 1 Dasar Dasar Bahasa Pemrograman C

OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment

REVIEW UNIVERSITAS BRAWIJAYA MALANG. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Pengumuman ALGORITME DAN PEMROGRAMAN

3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

Pernyataan Bersyarat (Conditional Statement)

PENGERTIAN. 2. Operator Unary 3. Operator Binary 4. Operator Ternary

Transkripsi:

Review #1 Mana di antara penamaan variabel berikut yang benar? Mengapa yang lain salah? a. 3n+1 b. n+1 c. 3n1 d. 3n_1 e. n_31 Review #2 Di antara deklarasi variabel berikut mana yang SALAH? Mengapa? a. int a, d. int a=b=1; b; float c=0.5; b. int a=0; e. int b,a=0; int b=0; float c=0.5; c. int a=0; int b; float c; 1

Review #3 Tipe data apa yang cocok untuk: Volume bola Nilai ujian Jumlah saudara kandung Status mendapat beasiswa/tidak Nilai APBN Review #4 #include <stdio.h> #include <math.h> int main() long int x = 1000000, y = 1000, z; z = x * x / sqrt(x); printf("%ld %ld %ld\n", x, y, z); return 0; 2

Review #5 #include <stdio.h> #include <math.h> int main() short int x, y, z; scanf("%hd %hd", &x, &y); z = x / 2 * y; Keluaran jika diberi masukan 5 2? Apa yang terjadi jika diberi masukan 5 3 2? printf("%hd %hd %hd\n", x, y, z); return 0; Review #6 #include <stdio.h> #include <math.h> Keluaran jika diberi masukan 5 2 3 dalam satu baris? int main() short int x, y, z; scanf("%hd %hd", &x, &y); z = x + y; printf("%hd %hd %hd\n", x, y, z); scanf("%hd", &y); z = z * y; printf("%hd %hd %hd\n", x, y, z); return 0; 3

Tips Perhatikan tipe data yang digunakan Contoh masalah tipe data: Muncul keluaran takterduga Muncul nilai seperti -1.#IND00 atau -1.#J Coba gunakan tipe data yang rentangnya luas: Integer: long long Floating point: long double Algoritme dan Pemrograman Kuliah #3 Ekspresi, Operator, dan Conditional Statement 4

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 a + b menghasilkan suatu nilai operand operator Jenis Operator C Aritmetika Logika Penugasan Increment, decrement Selection control conditional statement if switch..case 5

Operator Aritmetika Operasi Operato r Ekspresi C Penjumlahan + f + 7 Pengurangan - p - c Perkalian * b * m Pembagian / x / y Modulo % r % s Operator LOGIKA Hasil ekspresi logika: TRUE, int bernilai tidak NOL ( 0) FALSE, int bernilai NOL Aljaba r C Contoh Arti = == (x == y) x sama dengan y?!= (x!= y) x tidak sama dengan y? > > (x > y) x lebih besar dari y? < < (x < y) x lebih kecil dari y? >= (x >= y) x lebih besar or sama dengan y? <= (x <= y) x lebih kecil or sama dengan y? && ((x>0)&&(x<3)) 0 < x < 3 ((x<0) (x>3)) x < 0 atau x > 3 ~!! (x < 0) x tidak lebih kecil dari 0 6

Operasi Logika Tabel kebenaran operasi x && y Tabel kebenaran operasi x y De Morgan s Law!(x && y) == (!x!y)!(x y) == (!x &&!y) Latihan #1 #include <stdio.h> int main() int n; scanf("%d", &n); if (n = 0) printf("nol\n"); else printf("tidak NOL\n"); return 0; Tentukan keluaran jika diberikan masukan 0. Tentukan keluaran jika diberikan masukan 5. Apa yang dapat disimpulkan dari kasus ini? 7

Penulisan Kondisi Kesamaan Variabel dan Literal/Ekspresi Disarankan menggunakan ungkapan literal == variabel ekspresi == variabel misalnya 5 == x (a + b) == y agar kesalahan pengetikan == menjadi = terdeteksi sebagai kesalahan oleh compiler Evaluasi Ekspresi Logika Ekspresi (x+5<10 y>x+3 && z-2>3) Jika x = 2, y = 4, z = 2; hasil evaluasi: x+5<10 TRUE y>x+3 FALSE z-2>3 FALSE (TRUE FALSE && FALSE) (TRUE FALSE) TRUE 8

Operator Penugasan (Assignment) Tanda = Ada dua bagian yang dipisahkan = L-Value : lokasi penyimpanan nilai Contoh: R-Value : nilai yang disimpan a = 5; b = a = 10; c = c + 5; Compound Assignment Operator Menggabungkan operator penugasan dengan operator aritmetika. Contoh: c = c + 1 dapat ditulis c += 1 x = x * 2 dapat ditulis x *= 2 Operator yang dapat digunakan adalah +, -, *, /, dan % 9

Contoh Penggunaan Compound Assignment Operator Operator Arti Contoh += 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 Increment & Decrement Increment : ++ 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 10

Catatan Jangan lakukan lebih dari satu perubahan nilai satu variabel dalam satu evaluasi Hasil tidak terdefinisikan dalan standar C Contoh yang melanggar standar (takterdefinisi): i = ++i + 1; a[i++] = i; Contoh yang tidak melanggar standar: i = i + 1; a[i] = i; Latihan #2 #include <stdio.h> int main() int n; scanf("%d", &n); if (n++ = 0) printf("%d\n", n); return 0; Tentukan masukan yang menghasilkan keluaran. Bagaimana jika menggunakan operator increment/decrement lain (pre/post)? 11

Operator Koma // source: http://en.wikipedia.org/wiki/comma_operator int a=1, b=2, c=3, i;// comma as separator, not operator i = (a, b); // stores b into i... a=1, b=2, c=3, i=2 i = a, b; // stores a into i. // Equivalent to (i = a), b; //... a=1, b=2, c=3, i=1 i = (a += 2, a + b); // increases a by 2, // then stores a+b = 3+2 into i //... a=3, b=2, c=3, i=5 i = a += 2, a + b; // increases a by 2, // then stores a = 5 into I //... a=5, b=2, c=3, i=5 i = a, b, c; // stores a into i... a=5, b=2, c=3, i=5 i = (a, b, c); // stores c into i... a=5, b=2, c=3, i=3 Selection Control Structure Program akan memilih satu atau lebih statement untuk diproses atau tidak diproses berdasarkan kondisi tertentu. Termasuk percabangan (branching) Kondisi dinyatakan sebagai ekspresi yang mengendalikan arah percabangan. Pernyataan yang digunakan disebut conditional statement: Pernyataan if Pernyataan switch case 12

Ekspresi?... : Sintaks: (kondisi? ekspr1 : ekspr2 ) Jika kondisi bernilai benar, maka hasil evaluasi ekspresi tersebut adalah ekspr1. Selainnya, hasil evaluasi ekspresi tersebut adalah ekspr2. Contoh: n1 += ( (i < 10)? 3 : 5 ) setara dengan: if (i < 10) n1 += 3; else n1 += 5; Conditional statement: if Bentuk umum: if (kondisi) simple or compound statement; atau if (kondisi) simple or compound statement; else simple or compound statement; 13

Conditional statement: if Diagram alir untuk if.. Diagram alir untuk if..else. kondisi? FALSE kondisi? FALSE TRUE TRUE statements statements statements Latihan #3 #include <stdio.h> int main() int a, b; scanf("%d %d", &a, &b); if (a<b) printf("%d\n", b-a); printf("%d\n", a-b); return 0; Keluaran jika diberi masukan 5 20? Keluaran jika diberi masukan 20 5? 14

Latihan #4 #include <stdio.h> int main() int a, b; scanf("%d %d", &a, &b); if (a<b) printf("%d\n", b-a); printf("%d\n", a-b); return 0; Keluaran jika diberi masukan 20 5? Latihan #5 #include <stdio.h> int main() int a, b; scanf("%d %d", &a, &b); if (a<b) printf("%d\n", b-a); printf ("a lebih kecil\n"); else printf("%d\n", a-b); printf ("a lebih besar\n"); return 0; Keluaran jika masukan 5 20: Keluaran jika masukan 20 5: 15

Conditional statement: Nested if Struktur seleksi if yang bercabang dengan banyak kondisi. Contoh, berapa nilai b jika diberikan masukan 12? scanf("%d", &a); if (a<5) b = 1; else if (a<10) b = 2; else if (a<15) b = 3; else b = 4; Struktur else if : if(syarat) else if(syarat) else if(syarat) else if(syarat) else else yang terakhir sifatnya optional, boleh ada boleh juga tidak. IF Tidak Else IF Tidak Else IF Tidak Else Ya Ya Ya Ya 16

Bentuk Nested if dengan banyak perintah : if(syarat) if(syarat) else YA else if(syarat) else 9/17/2013 ILKOM IPB IF YA TIDAK IF YA TIDAK IF TIDAK Conditional statement: switch case Struktur dengan banyak kondisi yang berbentuk ekspresi logika kesamaan nilai integer. Perhatikan potongan program berikut (apa yang dilakukan?) int bil, hasil; scanf("%d", &bil); hasil = bil % 3; if (0 == hasil) printf("nol\n"); else if (1 == hasil) printf("satu\n"); else printf("dua\n"); 17

Conditional statement: switch case Bentuk umum struktur switch case switch(kondisi) case (konst_ekspr1): S1; S2; ; break; case (konst_ekspr2): S3; S4; ; break;... default: S5; S6; ; break; kondisi dan konst_ekspr berjenis integer (short, int, long, long long) Conditional statement: switch case Mengubah if ke switch case: int bil, hasil; scanf("%d", &bil); hasil = bil % 3; switch (hasil) case 0: printf("nol\n"); break; case 1: printf("satu\n");break; default: printf("dua\n"); break; 18

#include <stdio.h> int main() short int hari; "); printf("isikan nomor hari (1 = Ahad s/d 7 = Sabtu): scanf("%hd", &hari); switch (hari) case 1: case 7: printf("akhir pekan!\n"); break; case 2: case 3: case 4: case 5: case 6: printf("hari kerja!\n"); break; default: printf("nomor hari tidak valid!\n"); break; return 0; Contoh program dengan switch.case. Precedence dan Associativity Berapa hasil evaluasi 4 * 4 + 4 * 4 + 4 4 * 4? PRECEDENCE Menentukan urutan operasi dari operator-operator dalam ekspresi majemuk. Operator dengan tingkat precedence lebih tinggi akan diproses lebih dahulu. ASSOCIATIVITY Menentukan arah evaluasi bila ada dua atau lebih operator dengan tingkat precedence yang sama. Dilambangkan dengan left-to-right (LR) atau right-to-left (RL). 19

Operator Precedence Chart (http://www.swansontec.com/sopc.html) Operator Type Operator Associativity Primary Expression Operators Unary Operators Binary Operators () []. -> expr++ expr-- left-to-right * & + -! ~ ++expr --expr (typecast) sizeof() * / % + - >> << < > <= >= ==!= & ^ && right-to-left left-to-right Ternary Operator?: right-to-left Assignment Operators = += -= *= /= %= >>= <<= &= ^= = right-to-left Comma, left-to-right Contoh Precedence dan Associativity Y = 2 * 5 * 5-3 * 5 + 7; Evaluasi: Y = 2 * 5 * 5-3 * 5 + 7; = 10 * 5-3 * 5 + 7; = 50-3 * 5 + 7; = 50-15 + 7; = 35 + 7; = 42; 20

Latihan #6 Deskripsi: Air bersih LAYAK diminum jika memenuhi dua syarat, yaitu kadar besi kurang dari p, dan kadar bakteri coli kurang dari q. Jika tidak memenuhi kedua syarat tersebut, air dikatakan TIDAK LAYAK untuk diminum. Implementasi dalam program: if ((besi>=p) (coli>=q)) printf("tidak LAYAK"); else printf("layak"); BENARKAH?? Latihan #7 - keluaran program #include <stdio.h> int main() int a = 10; printf("\n%d", a += 3); printf("\n%d", a -= 3); printf("\n%d", a *= 3); printf("\n%d", a /= 3); printf("\n%d", a %= 3); printf("\n%d", a); printf("\n%d", ++a); printf("\n%d", a); printf("\n%d", a++); printf("\n%d", a); printf("\n%d", -- a); printf("\n%d", a); printf("\n%d", a-- ); printf("\n%d\n", a); return 0; //13 //10 //30 //10 //1 //1 //2 //2 //2 //3 //2 //2 //2 //1 21

Latihan #8 Misalkan terdapat tiga variabel bertipe int, yaitu a= -15, b= -10, c= -5. Berapa nilai ekspresi a<b<c? True/False? Berapa nilai (++b + c--)? 22