Oct 30

Pointer dan Array

Definisi Pointer : Pointer variabel yang menyimpan alamat dari variabel lain / tidak bisa menyimpan value tanpa alamat dari variabel.

Variabel biasa menyimpan Value

<type>*ptr_name //type : int float char dll

*(content of)

&(address of)

 

cth: int i,*ptr;

ptr=&i

*ptr=5

berarti nilai I= 5

 

Pointer to Pointer

<type>**ptr_ptr // cuma bisa menyimpan alamat dari single Pointer

 

Definisi Array

Pointer statis, menyimpan data banyak dalam 1 tipe data

-Homogen : cuma 1 tipe data

– Random Access : bisa mengakses index yang manapun asalah != <0dan masih sesuai batas

 

Array Initialization

int B[]={1,2,3,4} // bisa menyesuaikan jumlah Index

int B[8]={1,2,3,4} //Jumlah index 8 yang terisi dengan 4 NULL

 

Accessing Array

*(A+2) == A[2]

karena A == *A[0]

 

Pointer Constant dan Pointer Variabel

Pointer Constant == Array  -> Tidak bisa masukin nilai Baru waktu Runtime

Array of Pointer

type*array_name[value_dim]

int i;

int *ptr[4];

int x=1,y=2;

arr_ptr[0]=&x

arr_ptr[4]=&y

 

String

Array of character yang biasa diakhiri dengan NULL (”)

Oct 24

Repetition in C

Repetition = Pengulangan, Looping

Operasi Repetition:

For, While, Do-While

For = kondisinya bisa dikosongkan

While = Kondisi harus berisi dan kondisi di cek sebelum mulai menjalankan statement

Do-While = mengerjakan Kondisi terlebih dahulu baru di cek

 

– FOR

for(exp1;exp2;exp3)statement;

or

for(exp1;exp2;exp3)

{statement1;

statement2;

statement3;

}

Exp 1 : Iniatialization

Exp2 : Conditional

Exp3: Increment or Decrement

Exp is Optional

 

-While : Hanya akan jalan jika kondisi TRUE

while(exp)statement;

or

While(exp)

{statement1;

statement2;}

Note: Dia bisa jalan jika exp != 0

Jadi selalu benar karena kondisi harus benar

 

– Do-While

do{statement}

while(exp);

-Terus berjalan selama Exp bernilai True

-Menjalankan statement sekali terlebih dahulu baru mengecek kondisi

 

To End repetition, there is several ways

– Sentinel

– Question, should the repetition continue?

 

Note tambahan:

break; adalah fungsi untuk menghentikan Looping dan keluar dari fungsi loop

continue; Men Skip sisa statement yang ada dibawahnya

 

 

1421178042197

Oct 15

Selection

Kita mengalami banyak pilihan dan pilihan selalu lebih dari satu, sama kayak komputer yang bisa memilika banyak pilihan atau fungsi.

Syntax pilihan dalam Algo:

IF

IF ELSE

NESTED IF

SWITCH CASE

 

-IF

Syntax : if(boolean expression){statement1;

Statement2;

Statement3;}

 

Kalau Cuma satu statement boleh dihilangkan tanda {}

 

-If Else

If(boolean expression)statement1;

Else statement2;

 

Ada 2 pilihan : Kalau kondisi benar mengikuti statement 1 dan kalau salah mengikuti statement 2

 

-Nested If

Kalau If nya lebih dari satu

Syntax: If(boolean expression)statement1;

If(boolean expression)statement2;

If(boolean expression)statement3;

 

Atau

If

Else

If

else

If

Else

If

Else

//Dst………..

 

-Switch Case

Kalau If mempunyai hanya 2 Nilai yaitu T/F

Sedangkan switch case mempunyai nilai yang lebih dari 2

Syntax: switch(expression){

Case constant1 : statement; break;

Case constant2 : statement; break;

.

.

.

Default:statement;

}

 

*Yang bisa dikerjakan If belum tentu bisa dikerjakan Switch Case, tetapi apapun yang bisa dikerjakan dengan switch case pasti bisa diselesaikan dengan If.

 

? Operator

? mirip dengan If

Condition ? then-expression:else-expression

If(a>b)

Max_value=a

Else

Max_value=b
As

Max_value=(a>b)?a:b

 

-Goto and Label

Tidak dijelaskan karena bukan sequence jadi tidak dijelasin

 

*Error Type

  1. Compile Type Error

Caused by syntax error

  1. Link time error

External int x  -> ambil dari data eksternal jadi kalau tidak ada menjadi error

  1. Run-time Error

Biasa pointer,memori,Salah perhitungan

4.Logical Error

Salah hasil karena kesalahan logika flow , algoritma

 

Thank You Cards (4)

Oct 08

Operator dan Operand Introduction

Operator is a symbol to process values in result for a new value

Operand is part which species what data to be operated on

C=A+B

+ – / * %(modulus) adalah operator

C A B adalh operand

Dibagi berdasarkan jumlah Operantnya, Operator dibagi 3:

– Unary Operator (butuh 1 operant)

– Binary Operator (butuh 2 operant)

– Ternary Operator (butuh 3 operant)

 

Operator Type

– Assignment

– Logical

– Arithmatic

– Relational

– Bitwise

– Pointer

 

Assignment type

ada simbol “sama dengan” tetapi “=” dengan “==” ini berbeda

= adalah nilai variabel

== adalah mencocokan

x=3  (proses dari kiri ke kanan)

 

Arithmatic

+ addition

– subtraction

/  division

mutiply

% Modulo

++ increment

— decrement

() Scope

 

increment dan decrement

++N pre ( ditambah baru dimasukan ke variabel)

N– Post  (masukan variabel baru dikurangkan)

note:

a=a+b dapat ditulis a+=b

 

Relation

== equality

!= not equal

< less than

> greater than

<= less or equal than

>= greater or equal than

?:  conditional assignment

 

Logical Operator

1=T

0=F

int x;

x= 20>10 // value x adalah 1 yang berarti T

int x=5 ;

int y=0;

x && y // bernilai FALSE

(x>y) && (y>=0) // True

 

bitwise

&  AND

| OR

^ XOR

~ COMPLEMENT

>> SHIFT RIGHT

<< SHIFT LEFT

 

 

Pointer operator akan dijelaskan di sesi 3

 

 

 

Oct 01

OOP : Object Oriented Program dibagi jadi 5 : Incapsulation(bisa kasi hak akses bisa ga), Inheriten(hubungan bapak anak; anak boleh nunjukin sifat bapak, boleh ga), Abstraction (Wajib memunculkan sifat dari anak), Interface( Bapak tertinggi), Polimerism (?)

Tingkatan:

1. Assembler (Rendah)

2. C, Pascal , Fortran (sedang)

3.Java, C++, C# (Tinggi)

Algoritma ditemukan oleh matematikawan arab : Al-Khowarizmi, Algoritma berasal dari 2 kata: Algoris dan ritmis.

Contoh Algoritma :

Bangun Tidur

Buka Baju

Mandi dan sabunan

Pakai baju

pergi Kuliah

Step pembuatan Algoritma :

Men-Develop Algoritma dibagi 2:

-Pseudo Code (Tulisan)

-Flow Chart (Gambar)

Step Algoritma: 

PROBLEM – PROCESS – SOLUTION

dari masalah akan muncul proses penyelesaian sampai akhirnya ada solusi

Di bagian process terbagi menjadi beberapa step: Algoritma – Source code – Executable Code

Source code bisa compile jadi EXE dan ada juga yang tidak bisa dicompile

Pseudo code

memakai bahasa Inggris, membantu kita mengembangkan pengetahuan mengenai Algoritma

Keyword: If, Else, print, set, add, while dan lain lain

basic Pseudo code:

-INPUT

-OUTPUT

-COMPUTE

-Storing Value to an Identifier

-Compare

-Repetition (Looping)

 I – P – O

input data setelah itu akan diproses dan baru output ke Dekstop anda.

Kenapa C?

karena bahasa C itu adalah Mother Language dan memiliki fleksibilitas,Portability, Bahasa yang sangat terkenal dan men Support banyak device

C standart library:

<math.h> untuk Math Function

<stdio.h> untuk input output

<stdlib.h> untuk Utility Function

<string.h> untuk String Function

<time.h> untuk waktu dan tanggal Function

Catatan mengenai C:

  • Terisi dari Function
  • Setiap program c punya fungsi utama yaitu main
  • Bahasa C adalah bahasa yang sangat terpengaru dari Huruf(Case Sensitive)
  • Setiap statement harus diakhiri dengan semi-colon (;)

 

catatan: int sekarang 4 bit

 

images