Algoritma Pertemuan 7 Januari

Sorting.

ada 5 macam sorting:

-bubble sort

bubble sort merupakan sorting yang di lakukan secara berurut (ascending maupun descending)

-selection sort

selection sort merupakan sorting yang melakukan pencarian yang terkecil atau yang terbesar. Pada awalnya, mencari indeks terkecil, lalu di simpan ke index.

-insertion sort

disini merupakan proses perbandingan index yang satu dengan yang lain. Jika index yang lain lebih besar, maka index tersebut di geser.

-merge sort

disini merupakan proses penggabungan 2 buah array menjadi 1 array yang baru.

-quick sort.

merupakan proses sorting dengan menggunakan metode divide-and-conqueror.

 

Search ada 2 jenis:

-Linear search

searching dengan pengecekan satu-satu. tidak di anjurkan untuk data yang banyak.

 

-Binary search

searching yang di cari lebih besar atau lebih kecil. seaandainya lebih besar, geser ke kanan, seandainya lebih kecil, geser ke kiri.

 

 

Algoritma Pertemuan 8

Stream adalah urutan karakter.

Stream di bagi menjadi 3 jenis, yaitu:

1. standard stream input (stdin)

2. standard stream ooutput (stdout)

3. standard error stream (stderr)

Cara untuk membuka suatu file dalam c:

1. “r”   digunakan untuk membaca

2. “w”        digunakan untuk menulis

3. “a”         digunakan untuk menambahkan tulisan

4. “r+”       digunakan untuk menulis atau membaca.

5. “w+”      digunakan untuk dibaca atau ditulis

6. “a+”       digunakan untuk membaca atau menambahkan

7. “rb”       digunakan untuk membuka file(biner)untuk dibaca.

8. “wb”     digunakan untuk membuat file(biner)untuk ditulis.

 

 

 

Algoritma Pertemuan 7

Function and Recrusion

Function dan Recrusion merupakan metode pembuatan suatu program dengan cara pembagian modul-modul.

Function sering juga disebut sub program karena function mengelompokan statement (mengelompokan dalam suatu modul)

Recrusion itu function yang memanggil nilai function itu sendiri.

function digunakan untuk mempermudah kita mencari kesalahan, dan merupakan sesuatu hal yang penting jika ingin coding lebih dari 100 baris.

 

UDF adalah Used Definiton Function

Algoritma – Pointer dan arrays

Pointer dan Arrays

Pointer : Variable dimana dia meyimpan alamat variable lainya

syntax :

<type> *var

 

type: int,float,dll

 

2 Operator Pointer:

–    * (Content of)

–   & (address of)

contoh: int i, *ptr;

ptr = &i;

*ptr

 

Pointer to Pointer : Variable yang menyimpang alamat dari pointer lainya

syntax:

<type> **var_var

Contoh:

int i,*ptr,**ptr_ptr;

ptr_ptr=&ptr;

ptr=&x;

x=10;

 

Array:

  • Menyimpan Dara dalam jumlah besar
  • Data Homogen
  • Random Access

array selalu di mulai dari 0

int x[100]

berarti: 0-99

 

 

Array Initialization: Array can be initialized explicity without dimensional valve declaration

example:

int b[] = {1,2,3,4};

Array B has 4 elements

 

Accessing Arrays : two analogous ways of accessing an element

i=2;

*(A+2) or A[2]

A equivalent &A[0]

 

Pointer constant and ointer variale

Pointer variable: POinter that can be assigned with new value runtime

One dimensional Array: Pada One dimensional Array, dia tidak membatasi jumlah arraynya, melankian pc yang membatasi.

 

contoh:

int size=5;

void main (){

int i, j;

int i[size]=[1,2,3,4,5}

 

Two Dimensional Array

syntax:

type name_array[row][col]

example:

int a[3][4];

untuk initialsasi, gunakan rmo

rmo(row major order)

 

Array of Pointer: an array filled with pointer

syntax:

type *array_name[value_dim]

Array of Character: an array filled with character

string: Array of character yang di akhiri null character () or ASCII=0

 

char vs string

char: single quote

string: double quote

 

string manipulation:

  1. strlen
  2. strcpy
  3. strncpy
  4. strcat
  5. dll

 

Algo Pertemuan 4

REPETITION

–> One or more instruction repeated for certain amount of time

 

Repetition operation

1. for

syntax:

for (expression1;expression2;expression3)statement;

or

for(exp1;exp2;exp3)

contoh:

void reverse (char ss[]){

int e,i,j;

for(i=0;j=strlen(ss)-1;i<j,i++,j–){

c=ss[i];

ss[i]=ss[j];

ssj[j]=c;

}

}

 

infinite for

–> loop with no stop condition. to end the loop, use break

 

nested loop

–> for dalam for

 

2. Repetition while

syntax:    while(expression) statements;

pros: Tak mungkin salah

 

3. Repetition Do-While

syntax:

do{statement}

while(exression)

 

pros: statement di jalankan terlebih dahulu baru di cek.

 

 

 

Algoritma pertemuan 3

SELECTION

Selection if

syntax:
if (boolean expression) statement;
or
if(boolean expression){
statement1;
statement2;

}

Selection If-Else

syntax:
if(boolean expression) statement1; else statement2;
or
if(boolean expression){
statement1;
statement2;
else{
statement3;
statement4;
}

Selection Nested if (more than 1 if)

syntax:
if(boolean expression)statement1;
if(boolean expression)statement2;
if(boolean expression)statement3;
or
if(boolean expression)statement1;
else if(boolean expression)statement2;
else if(boolean expression)statement3;

Selection switch case
–> Lebih ke expression, sifat pengembaliaanya bukan true/false

syntaax:

switch (expression){
case constant1:statement1;break;
.
.
.
case constant7:statement7;break;
default:statement;
}

?: Operator
–> mirip if, cuman mengembalikan nilai

syntax:
Condition?then-expression:else-expression

secara normal
if(a>b) max_value=a;
else mac_value=b;

as

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

go to label

syntax:
goto label;

label:
….

untuk goto label sudah hampir tidak pernah di pelajari lagi, karena sudah ketinggalan zaman (?)

Algorithm and Programing pertemuan kedua

Operator, operand, and arithmetic

1. OPERATOR adalah simbol untuk memproses suatu nilai menjadi nilai baru

Contoh: C=A+B

(= and + merupakan operator)

Macam2 operator

a. Unary operator (needs 1 operands)

b. Binary Operator (needs 2 operands)

c. Ternary Operator (needs 3 operands

 

2. OPERAN suatu nilai yang spesifik untuk di operator kan.

Contoh: C=A+B

(C,A and B adalah operand)

 

Berdasarkan operasinya, operator di golongkan menjadi:

  • Assignment Operator
  • Logical Operator
  • Arithmetic Operator
  • Relational Operator

 

  • Bitwise Operator

 

  • Pointer Operator

 

Assignment Operator:

merupakan operator yang tugasnya merubah suatu nilai x menjadi sama seperti yang ada di sebelah kanan.

contoh: Operand1=Operand2

nilai Operand 1 akan sama seperti Operand2

 

Arithmetic Operators

 

Operator yang tugasnya sebagai fungsi penjumlahan, pengurangan, dll.

+ –> penjumlahan

– –>pengurangan

% –> modulo (sisa hasil bagi)

n++ –> post increment: jadi di cek dulu baru di tambahkan 1.

++n –> pre increment: jadi di tambahkan 1 dulu baru di cek.

 

Relational Operator

Operator yang mengecek suatu value/nilai bernilai benar/salah

== : menandakan equality yang maksudnya untuk mengecek, bukan merubah suatu nilai menjadi.

!=: menandakan tidak sama

< menandakan less than

> menandakan greater than

?: menandakan conditional assignment

contoh untuk conditional assignment: if(a>b) z=a; else z=b

nah dalam penulisanya biasanya seperti ini: z=(a>b)?a:b;

jika bernilai true, maka hasilnya z=a, jika salah z=b.

 

Logical Operator

simbol-simbolnya

&& menandakan and

|| menandakan or

! menandakan nor

 

^ menandakan xor

 

Bitwise Operator

untuk bitwise operator, itu sama seperti arithmathic operator, cuman yang membedakan untuk bitwise, yang di hitung adalah bilangan binernya

& itu and

! itu or

^ itu xor

~ itu komplemen

>> shift right

<< shift left

contoh

4 = 100

3 = 011

——————- &

000 (False)

 

4 = 100

3 = 011

—————–|

7 = 111

 

Fungsinya, ketika kita menjadi super admin, dan kita ingin menghilangkan admin, kita tinggal menggunakan funsi ini.

 

 

untuk >> dan << seperti ini

int A, B=78;

A = B >> 3;

A = B << 2;

 

78 binarynya 0100 1110

(>>)

shift pertama: 0010 0111

shift kedua: 0001 0011

shift ketiga: 00001001 -> bernilai 9

————————————————————————-

(<<)

shift pertama: 0100 11100

shift kedua: 0100 111000 –> bernilai 312

 

 

 

 

 

Algoritma Sederhana pertemuan 1

OOP, Apa itu OOP?

OOP itu Object Oriented Programing.

OOP itu ada 5 macam, yaitu: Inheritent, Interface, Polymerism, Abstraction, Encapsulation.

Inheritent itu besifat tidak wajib, jadi misal bapak punya wajah jelek, anaknya tidak perlu mempublikasikan bahwa mukanya jelek.

Encapsulation itu semacam private and public. Contohnya video porno pribadi kita private, jdi hanya kita saja yang bisa nonton, yang lain enggak, kecuali di beri izin public.

Abstraction itu boleh bersifat wajib ataupun tidak wajib. Seperti bapak yg punya gendut dan jelek. Anak itu wajib gendut tapi boleh tidak jelek.

Interface itu bersifat wajib dan boleh lebih dari satu. Jadi bapak gendut dan jelek, anaknya boleh gendut saja ataupun gendut dan jelek.

Polymerism itu melakukan overwrite pada method yang lama dan overloading method baru yang mirip dengan method lama.

 

Pseudocode biasanya berbentuk tulisan sedangkan flowchart biasanya berbentuk gambar.

Ada 1 lagi tpi jarang di pakai karena rumit, yaitu NS diagram.

Pseudocode basic computer orientation di bagi menjadi 5 yaitu: input, output,computate,storing value to an identifier(store), compare, loop.

 

Input—>process—>Output

Sequence itu berurutan.

Organization Skill

Ngebahas tentang organization skill, brti ini ngebahas tentang pengalaman beroraganisasi. Kebetulan gua ikut UKM tennis, dan disana gua belajar gimana caranya berorganisasi.

Ada beberapa hal yang gua sadari selama berorganisasi, diantaranya adalah tutur kata. Tutur kata menjadi sangat pending dalam berorganisasi, kenapa? Bayangkan kalo dalam berorganisasi ada orang yang cukup sensitif, dan kata-kata kasar yang mungkin buat kita biasa saja, tpi buat mereka kan belom tentu menerimanya.

Ada juga yang harus di perhatikan adalah jangan mementingkan ego, jangan terlalu memaksakan ego kita dalam berorganisasi, entr malah membuat anda di benci, tidak di hargai, dan lain-lain.

well, karena gua baru saja masuk dalam UKM tennis, dan gua baru saja menjadi MAHASISWA, gua belom tau secara mendetail tentang berorganisasi, jadi itu saja kata-kata dari saya.

sekian dan terima kasih!