Monday, December 17, 2018


nama: Andre Geraldo Pasaribu Silitonga
nim   : 2201793035




Algorithm and Programming

Data types:
-Integer --> int --> %d
-Character --> char --> %c(jika satu karakter) / %s(jika karakter adalah string atau karakter yang banyak)
-Double --> double --> %lf
-Float --> float --> %f


Standard library:
-stdio.h
-math.h
-time.h
-string.h

Fungsi:
-printf: memunculkan seseuatu kepada layar
contoh:

INPUT
1 #include<stdio.h>
2 int main(){
3 printf("Hello World");
4
5 } return 0;

OUTPUT
Hello World

-scanf: membaca format input
contoh:

ALGORITHM 1
1 #include<stdio.h>
2 int main(){
3 char x;
4 scanf("%c", &x);
5
6 printf("%c", x);
7
8 } return 0;

EXAMPLE INPUT 1
c

EXAMPLE OUTPUT 1
c

ALGORITHM 2
1 #include<stdio.h>
2 int main(){
3 char strings;
4 scanf("%s", &strings);
5
6 printf("%c", strings);
7
8 } return 0;

EXAMPLE INPUT 2
Binusian

EXAMPLE OUTPUT 2
Binusian

-for: gunakan untuk looping
contoh:

ALGORITHM AND INPUT 1
1 #include<stdio.h>
2 int main(){
3 for( ; ; ){
4 printf("Y")
5 }
6
7 } return 0;

OUTPUT 1
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

(ini adalah contoh looping forever)


ALGORITHM AND INPUT 2
1 #include<stdio.h>
2 int main(){
3 int i;
3 for(i=0;i<5;i++){
4 printf("Y")
5 }
6
7 } return 0;

OUTPUT 2
YYYYY

-if: digunakan jika suatu kondisi harus terpenuhi dahulu sebelum fungsi tersebut bisa dilakukan
-else: digunakan jika kondisi if tidak terpenuhu dan memasuki kondisi selanjutnya
-strlen: untuk membaca banyaknya karakter


Recursive


Recursive adalah sebuah function yang sering digunakan untuk menyelesaikan soal soal recursive seperti faktorial. Recursive function terdiri dari 2 bagian yaitu Base case untuk me return value(konstan) tanpa memanggil recursive selanjutnya dan Reduction step seluruh hasil input di gabung ke base case.

structure adalah tipe data yang digunakan untuk meng store beberapa data di satu tempat. contoh structure seperti:


Syntax
struct name_structure {
    dataType1 name_field1;
    dataType2 name_field2;
    …
};

terdapat juga yang disebut nested structure yang dimana structure tersebut terdapat dalam bagian structure lain, misalnya:
struct pendidikan terdiri dari SD,SMP,SMA
dan SD terdiri dari kelas 1,kelas 2,kelas 3,dan seterusnya...



lalu structure juga dapat dibuat sebagai array seperti :

struct tmhs {
  char nim[9];
  char name[26];
  float gpa;

};

union
union digunakan untuk memberi beberapa nama untuk satu lokasi

memory
memori yang akan dibahas adalah memori allocation dan memori de-allocation
secara singkat:
memori allocation adalah meminta memory space/RAM kepada sistem operasi.dan
memori de-allocation adalah mengembalikan memory space/RAM kepada sistem operasi.


Pointer
   Pointer is a variable that saves a memory address.
   For example:  
   <type> *ptr_name :
   int i,*ptr;
   *ptr=&i;   
   Pointer to pointer example:
   int i,*ptr,**ptr_ptr;
   ptr=&i;
   ptr_ptr=&ptr;

Array
   Array is a data structure that can store many value, it can store string and integers.
   Example :
   syntax = type array_value[value_dim]
   1D Array example = int angka[100] or char kata[190]
   2D Array example = int matriks1[10][10]