Materi yang diajarkan pada pertemuan ke4 adalah tentang repetition atau bisa disebut juga pengulangan, selanjunya akan dijelaskan dibawah:

1.Repetition: satu atau lebih instruksi yang diulang beberapa kali.

2.Operasi Repetition/Looping:

for
while
do-while
3.FOR

sntyax:
for(exp1; exp2; exp3) statement;

or:

for(exp1; exp2; exp3){

statement1;

statement2;

…….

}

exp1 : initialization

exp2 : conditional

exp3 : increment or decrement

exp1, exp2 and exp3 are optional

Infinite Loop:Pengulangan yang tidak ada hentinya.Dihentikan dengan menggunakan “break”.
Nested Loop:Pengulangan yang didalamnya ada pengulangan juga.
4.WHILE

Syntax :while (exp) statements;
or:

while(exp){

statement1;

statement2;

…..

}

(exp)statement:
exp adalah Boolean Expression.Hasilnya antara true(not zero) atau false(zero)
staement akan dijalankan jika bernilai ridak sama dengan 0.(true)
evaluasi “exp” dilakukan sebelum statement dijalankan.
4.DO-WHILE

Snytax :do{
;

} while(exp);

(exp)statement:
akan terus menjalankan selama statement true.
evaluasi “exp” dilakukan setelah statement dijalankan.
5.END A REPETITION

Sentinel
Break
Question,should the repetition continue?
Continue

Selection definition
Syntax:
1 .If
Fungsi “If” terjadi atau dilakukan apabila pernyataan atau syarat tersebut benar

2. If-Else
Fungsi “If-Else” terjadi apabila ada beberapa pilihan yang ada, dan di fungsi tersebut dicari fungsi yang lebih dahulu benar. ex . ada 4 pernyataan (A,B,C,D), apabila pernyataan A benar. fungsi tersebut berhenti dan menjalankan pernyataan A. Dan apabila pernyataan A salah, B salah, Dan C benar. Maka Fungsi tersebut dan akan menjalankan Pernyataan C, Begitu seterusnya.

3. Nested If
Fungsi “Nested-If” terjadi apabila ada If di dalam If tersebut. jadi didalam kasus ini ada beberapa syarat yang harus dipenuhi agar pernyataan ini bisa berjalan. ex. ada 4 pernyataan (A*A.1,A.2*,B,C,D), apabila pernyataan A benar. fungsi tersebut menjalankan pernyataan A, namun memerika pernyataan A tersebut , karena di dalam pernyataan A ada ” A.1 Dan A.2″ .dan apabila A.1 Benar, maka akan menjalankan A.1 .begitu seterusnya.

4. Switch-Case
Prinsipnya tidak beda jauh dengan “If-Else” .

5. Example (If-Else, If Else-If Else, Nested If, Switch-Case)

IF

Syntax :

If (boolean expression) statement;

Or

If (Boolean expression){

Statement 1

Statement 2

}

IF ELSE

Syntax :

If (Boolean expression) statement 1;

Else statement 2;

Or

If (Boolean expression){

Statement 1;

Statement 2;

……

}

Else{

Statement 3;

Statement 4;

}

NESTED IF

Syntax :

If (boolean expression) statement 1;

If (boolean expression) statement 2;

If (boolean expression) statement 3;

Or

If (boolean expression) statement 1;

Else

If (boolean expression) statement 2;

SWITCH CASE

Syntax :

Switch (expression) {

Case constant 1 : statement 1; break;

Case constant 2 :statement 2; break;

default:statement;

}

? : OPERATOR

Is similar to the if statement,but it returns a value.

Syntax : condition ? then – expression : else expression

You can rewrite :

if (a > b)

max_value = a;

else

max_value = b;

as

max_value = (a > b)? a : b;

ERROR TYPE

a.Compile Type : syntax error

b.Link Time : no object code at link time)

c.Run Time : (unsually by numerical operation)

d.Logical : inccorect logical flow/algo

Operator, Operand and Arithmetic

Operator : sebuah proses value yang menghasilkan value baru.
Contoh : +, -, *, /, =, !

Berdasarkan tipenya operator dapat dikelompokkan menjadi :

Assignment Operator
logical Operator
Arithmetic Operator
Symbol Functionality Example
+ Addition x = y + 6;
– Subtraction y = x – 5;
* Multiply y = y * 3;
/ Division z = x/y;
% Modulo A = 10 % 3;
++ Increment x++;
— Decrement z–;
Relational Operator
== : berfungsi untuk melihat True atau False
!= : Not equal
< : less than
: greater than
>= : greater or equal than
?: : Conditional AssignmentNB : True selalu bernilai 1 sedangkan False selalu bernilai 0
Bitwise Operator
Pointer Operator
Conditional Expressions
if(a > b) z=a;
else z=b;
statement diatas dapat ditulis z=(a > b) ? a:b

Logical Operator

Symbol Functionality
&& AND
|| OR
! NOT
^ XOR
Rumus AntiPoligami
a | b & ! (A & B) = bisa pilih a atau b dan bukan a dan b
jika a = T dan b = T
maka :
a | b & ! (A & B)
=T & !(T)
=T & F
= F
NB : Sesuatu yang = 0 bernilai False

Bitwise Operators

Symbol Meaning Example
& AND A & B
| OR A | B;
^ XOR A ^ B;
~ Complement ~A;
>> Shift Right A >> 3;
<< Shift Left B << 2;
Cara mudah menhitung bilangan Biner
Contoh carilah bilangan biner dari 15

cari 2 pangkat berapa yang hasilnya mendekati 15 (2^3)
2^3 2^2 2^1 2^0
yang paling mendekati 15 diberi bilangan biner 1
2^3 2^2 2^1 2^0
1
kurangi 8 dengan 15 = 7 cari pangkat 2 yang mendekati 7(2^2) lalu beri bilangan biner 1
2^3 2^2 2^1 2^0
1 1
kurangi lagi 7 – 4 = 3 cari lagi pangkat dua yang paling mendekati 3(2^1)
2^3 2^2 2^1 2^0
1 1 1
kurangi lagi 3 – 2 = 1 cari pangkat 2 yang mendekati 1 (2^0)
2^3 2^2 2^1 2^0
1 1 1 1
jadi bilangan biner 15 adalah 1 1 1 1

OOP atau yang disebut juga object oriented Programming itu bersifat reusable

-encapsulation = bersifat private (no access) tetapi bisa juga memberikan sebagian hak aksesnya kepada (public access) pada user lain
-inheriten = seperti hubungan bapak dengan anak (sunnah), sifat tidak harus ditunjukan dan masih dapat diperbaiki
-abstraction = sifat yang wajib diimplementasikan / tetapi bisa tidak wajib juga tergantung kondisi (banci)
-interface = sifat yang udah pasti wajib diturunkan, bisa memiliki lebih dari 1 bapak, tetapi hanya memiliki 1 bapak asli
-polymorphism = sifat yang sama dengan bapaknya tetapi sifat objek ini bisa berbeda-beda

PROBLEM > PROCESS > SOLUTION
Algoritm > Source Code > Executable Code

Pseudocode = kode program yang berbentuk kata2/tulisan yang dibuat untuk mudah dimengerti
Flowchart = berbentuk gambar / aliran source code berbentuk diagram (Start to End)

Writing Code > Compile > Execute Code > Documentation
*if syntax error while compiling back to writing code
*if it run error while execute code back to writing code

Pseudocode (tulisan agar gampang dimengerti)
-Input
-Output
-Compute
-Storing Value to an Identifier
-Compare
-Repetition

Prosedural (codingan luas – atas ke bawah)

Structure Theorem = 1. Sequence = berurutan
2. Selection = pemilihan (if,else)
3. Repetition = pengulangan (DO, while)

Apa itu bahasa C?

bahasa C adalah bahasa basic pemrogramman yang wajib dikuasai oleh seluruh programmer.
C dan C++ itu berbeda.
bahasa C hanya memiliki 1 main function saja dan case sensitive sangat berpengaruh disini
compiler C berbagai macam seperti VCExpress dan borland C

C library :

contoh structure bahasa C

main()
{
statement;
}

variable: no keyword, no space, no number