Tuesday, December 18, 2018

Function & Recursive

Function
Function merupakan sekumpulan code yang dibungkus ke dalam sebuah scope untuk menjalankan tugas tertentu. Function memungkinkan kita untuk menghemat penulisan kode yang mana sering ditulis berulang-ulang, namun bisa dibungkus ke dalam sebuah fungsi dan kita tinggal memanggilnya saja. Fungsi membuat program lebih terstruktur dan efisien sehingga program tersebut mudah dipahami atau dibaca alur programnya.

Contoh : 

#include <stdio.h>

void belajarfungsi(){
    printf("Halo, Selamat Belajar Fungsi!");
}

int main(){
    belajarfungsi();
    getchar();
    return 0;
}

Recursive

Recursive Case adalah kondisi-kondisi yang diselesaikan dengan cara memanggil fungsi itu sendiri dengan problem yang semakin berkurang mendekati simple case. 

Contoh:


#include <stdio.h>
long int multiplyNumbers(int n);

int main()
{
    int n;
    printf("Enter a positive integer: ");
    scanf("%d", &n);
    printf("Factorial of %d = %ld", n, multiplyNumbers(n));
    return 0;
}
long int multiplyNumbers(int n)
{
    if (n >= 1)
        return n*multiplyNumbers(n-1);
    else
        return 1;
}


Monday, December 17, 2018

Pointers & Array

Pointer
Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
Operator yang paling sering di gunakan di dalam pointer adalah
1. *
2. &

Contoh :

Syntax :
int i, *ptr;

Array
Data disimpan dalam struktur tertentu untuk diakses sebagai grup atau individual. Beberapa variabel yang disimpan menggunakan nama yang sama dibedakan oleh indeks mereka. Ciri-ciri array adalah sebagai berikut:
1. Homogen: 
Semua elemen memiliki tipe data yang sama
2. Access yang Acak: 
- Setiap elemen dapat dijangkau secara individual, tidak harus berurutan

Syntax:
type array_value [value_dim];
int A[10];

Sunday, December 16, 2018

Repetition dan Selection

Repetition & selection  adalah perintah-perintah yang digunakan untuk menguji maupun mengulangi satu atau lebih statement.

Perintah Selection ada 3 jenis : If-Else, Switch-case dan Ternary Operator

1. Contoh IF-Else :

Syntax :
if (boolean expression) statement1;
else statement2;

atau
if (boolean expression){
   statement1;
   statement2; Block statement1
   ……
}
else {
   statement3;
   statement4; Block statement2
   …
}

2. Contoh Switch-case :

Syntax:
switch (expression) {
case constant1 : statements1; break; 
.
.
case constant2 : statements2; break;
default : statements;
}

3. Contoh Ternary Operator :

Syntax:
condition ? then-expression : else-expression

Using this operator, you can rewrite
if(a > b)
max_value = a;
else
max_value = b;
as
max_value = (a > b) ? a : b;

Perintah Repetition Repetition/looping ada 3 jenis, yaitu : for, while, do-while

1. Contoh lopping for :

Syntax :
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

2. Contoh looping while :

Syntax :
while (exp) statements;
or:
while(exp){
statement1;
statement2;
   …..
}

3. Contoh looping do-while :

Syntax :
do{
    < statements >;
} while(exp);

Keep executing while exp is true 
exp evaluation done after executing the statement(s