Algorithm & Programming – 7th Meeting

Pada pertemuan kali ini kita membahas Function dan Recursion

Function berfungsi untuk membuat fungsi yang bisa dibuat oleh kita sendiri. Function juga berguna untuk membuat program menjadi lebih simple dan dapat membuat program dapat dideteksi dengan lebih mudah bila ada error.

 

Recursion adalah fungsi yang dapat memanggil dirinya sendiri dan berguna untuk memecahkan masalah yang butuh rekursif seperti deret Fibonacci.

 

Contoh coding-an function :

int maximum (int x, int y){

int max = x;

if ( y > max) max = y;

return max

}

 

void main () {

int a,b;

printf(“Input 2 even values : “);

scanf(“%d %d”, &a, &b);

printf(“Largest value is : %d\n”,maximum(a,b));

}

Jadi, inti dari function adalah, kita membuat sebuah fungsi sebelum int main/void main lalu kita panggil fungsi tersebut saat menjalankan int main.

Contoh coding-an recursion

long factor (int n)

{

if(n==0) return (1);

else return(n * factor(n-1));

}

Posted in Uncategorized | Leave a comment

Algorithm & Programming – 6th Meeting

Di pertemuan ke 6 ini kami mempelajari tentang vibonaci

I–>P–>O

I = Input (scanf, getchar,…)

P = Process (Selection [ If-else, Switch case, Nested If], Looping/Repetition [for, while, do-while], storage [file, sql, nosql ] )

O = Output (printf,…)

Contoh soal: vibonaci (1 1 2 3 5 …)

Int a = 1, b = 0, c;

For{

C = a + b;

A= b;

B=c;

Printf(“%d ”,c);

}

Contoh soal: bilangan prima (2,3,5,7,11,…)

Int angka

If (angka%2 == 0 || angka % angka == 0); i++;

If (i >= 2) printf(“Bukan prima”);

Atau

Sieve (1000) —> mencetak semua angka 1 – 1000

Lalu hilangkan angka yang dapat dibagi dengan 2,3,4,…

Posted in Uncategorized | Leave a comment

Algorithm & Programming – 9th Meeting

Definisi File, record dan penyusunnya :

File is a collection of record
Record is a collection of field
Field is a block of byte
Byte is collection of bit

Definisi Streams 

Stream
-Standard input stream (stdin)
-Standard output stream (stdout)
-Standard error stream (stderr)
Text FILE disimpan dalam format ASCII
Binary File : data yang hanya dapat dibuka oleh system (kata2x atau hurufnya di .txt acak [cryptography])
Penulisan
FILE *fp;
fp = fopen(“____.txt”,”_”);      [blank pertama itu nama dari txt, blank ke 2 itu untuk tipe atau modenya(w,r,a,..)]
statement;
fclose(fp);        [harus ditutup agar bisa digunakan untuk aplikasi lainnya atau .txtnya digunakan terus]
fgetc = ambil 1 char dr file.txt
fputc = taruh 1 char ke file.txt
fscanf = baca file.txt
fprintf = tulis ke file.txt
fwrite = menulis ke file sebanyak n size
fread = membaca dr file sebanyak n size
feof = membaca terus menerus sampai file habis

Posted in Uncategorized | Leave a comment

Algorithm & Programming – 5th Meeting

Pointers and Arrays:

–Pointer Definition

–Pointer Concept

–Pointer to Pointer

–Array

Pointer Definition

  • Pointer is a variable that store the address of another variable
  • Syntax :

<type> *ptr_name;

  • Two operators mostly used in pointer : * (content of) and & (address of)
  • Example:

Initialize an integer pointer into a data variable:

int i, *ptr;

ptr = &i;

To assign a new value to the variable pointed by the pointer:

*ptr = 5; /* means i=5 */

Array Definition

  • Data saved in a certain structure to be accessed as a group or individually. Some variables saved using the same name distinguish by their index.
  • Array characteristics:

–Homogenous

All elements have similar data type

–Random Access

Each element can be reached individually, does not have to be sequential

  • Syntax:

  type array_value [value_dim];

  • Example :

int A[10];

  • The definition consists of 4 components:

–Type specified

–Identifier (name of the array)

–Operator index ([ ])

–Dimensional value inside operator [ ]

Posted in Uncategorized | Leave a comment

Algorithm & Programming – 4th Meeting

Program Control – Repetition:

–Repetition Definition

  • One or more instruction repeated for certain amount of time
  • Number of repetition can be predefined (hard-coded in program) or defined later at run time
  • Repetition/looping operation:
  • –for
  • –while
  • –do-while

–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

  • exp1 and exp3 can consist of several expression separated with comma
  • Example:

void reverse(char ss[])

{

   int c,i,j;

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

       c=ss[i];

       ss[i]=ss[j];

       ss[j]=c;

   }

}

  • Infinite Loop

Loop with no stop condition can use “for-loop” by removing all parameters (exp1, exp2, exp3). To end the loop use break.

  • Nested Loop

Loop in a loop. The repetition operation will start from the inner side loop.

–While

while (exp) statements;

  • exp is Boolean expression. It will result in true (not zero) or false (equal to zero).
  • Statement will be executed while the exp is not equal to zero.
  • exp evaluation is done before the statements executed.

–Do-While

–Repetition Operation

–Break vs Continue

Posted in Uncategorized | Leave a comment

Algorithm & Programming – 3rd Meeting

In this 3rd meeting in Algorithm & Programming I learn about selection.

What is selection?

  • In an algorithm implementation, an instruction or block of instructions may be executed (or not) with certain predetermined condition
  • Syntax:

–IF

Syntax :

if (boolean expression) statement;

or

if (boolean expression) {

     statement1;

     statement2;            Block of statements

  ……

}

If boolean expression resulting in True, then a statement or some statements will be executed.

9

 

–IF-ELSE

Syntax :

if (boolean expression) statement1;

else statement2;

or

if (boolean expression){

   statement1;

   statement2;  Block statement1

   ……

}

else {

   statement3;

   statement4;  Block statement2

   …

}

If boolean expression resulting in TRUE, then statement1 or block statement1 will be executed, if FALSE then statement2 or block statement2 be executed.

 

SWITCH-CASE

  • Switch-Case Operation

This statement is used in exchange of IF-ELSE, when if-else nested number of level is enormous and difficult to read

  • Syntax:

switch (expression) {

  case constant1 : statements1; break;

  .

  .

  case constant2 : statements2; break;

  default : statements;

}

 

Error Type

  • Compile-Time Error

–caused by syntax error

  • Link-Time Error

–success fully compiled, but cause link error

–caused by no object code at link time

  • Run-Time Error

–successfully compiled, but error at runtime. Usually caused by numerical operation such as: overflow, floating point underflow, division by zero, etc.

  • Logical Error

–wrong result caused by incorrect logical flow/algorithm

Posted in Uncategorized | Leave a comment

Algorithm & Programming – 2nd Meeting

These are what i get from the 2nd meeting in algorithm & programming

Operator, Operand, and Arithmetic:

–Operator and Operand Introduction

–Assignment Operators

–Arithmetic Operators

–Relational Operators

–Conditional Expressions

–Logical Operators

–Bitwise Operators

–Pointer Operators

–Precedence and Associative

Operator and Operand Introduction

  • Operator is a symbol to process values in result for a new value
  • Operand is part which specifies what data is to be manipulated or operated on
  • Example :

  C = A + B 

  (= and + sign are operators, A, B and C are operands)

  • Based on its operand number, operator can be divided into three:

Unary operator  (needs one operand)

Binary operator  (needs two operands)

Ternary operator  (needs three operands)

 

Assignment Operators

  • Example:

x = 2;  // constant

x = y;  // other variable

x = 2 * y;  // expression

x = sin (y);  // function

  • Type of the result will follow the left hand side operand

int x = 7/2;     /*x value is 3 not 3.5*/

float y = 3;  /*y value is 3.000 */

 

Arithmetic Operators

Picture1

  • Modulo

–Symbol : %

–Binary operator

–To find reminder of a division

–N % 2, can be used to find an odd or even number

  • N % 2 = 0 ® N is even
  • N % 2 = 1 ® N is odd
  • Increment and Decrement

–Symbol : ++(increment), –(decrement)

–Unary operator

–Increase (++) and decrease (–) the value of a variable by 1.

–Its position can be in the front (pre) or after (post) a variable.

 

Relational Operators

Use to compare to values with TRUE or FALSE result

Picture2

FALSE in C language equals to the value of zero

TRUE on the other hand not equal to zero

TRUE set by a C program at run time equal to the value of one

 

Conditional Expressions

  • Given the following statement:

if(a > b) z = a;

else z = b;

  • The above statement can be reformed to a conditional expression
  • Conditional expression using ternary operator : ‘?’ and ‘:’
  • Syntax :

  exp1 ? exp2 : exp3;

  • Example (similar meaning with the above statement):

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

 

Posted in Uncategorized | Leave a comment

Review Algorithma sesi ke 1 – 1 Oktober 2015

OOP: Object Oriented Programming

Object Oriented Programming adalah semacam metode dalam pembuatan program yang berbasiskan pada objek yang mempunyai tujuan untuk menyelesaikan berbagai masalah pemprograman yang semakin meningkat dan rumit.

Di dalam Object Oriented Programming ini tentunya mempunyai beberapa konsep yaitu :

  1.   Class/kelas

Class/kelas ini dapat didefinisikan sebagai sekumpulan data atau sebuah fungsi dalam satu lingkup yang mempuyai tujuan tertentu.didalam kelas biasanya terdapat atribut dan method.berbeda dengan objek, class lebih mendefinisikan method secara umum.

  1. Object/objek

Object/objek ini dapat diartikan sebagai pembugkus dari suatu fungsi dalam pemprograman berorientasi objek (OOP) atau juaga dapat dikatakan sebagai dasar atau modul dalam pemrograman berorientasi objek (OOP).

  1. Enkapitulasi

Dalam sebuah objek tentunya memeiliki barbagai variabel dan method,maka dari itu sebuah objek membutuhkan tempat untuk menampung variabel dan method tersebut,tempat inilah yang dinamakan Enkapitulasi.singkatnya Enkapitulasi adalah sebuah wadah atau pembungkus sebuah program dan data yang akan diolah.enkapitulasi memeiliki beberapa keuntungan diantranya adalah :

  • Melindungi program atau data.
  • Objek dapat dikelola secara independen dan kita juga bisa menyembunyikan informasi yang tidak perlu diketahui objek lain.

Pebedaan pemprograman berorientasi objek dengan pemprogram prosedural adalah :

  1. Pemprograman berorientasi objek lebih fokus pada masalah  yang akan ditangani menggunakan komputer.
  2. Sedangkan pemprograman prosedural memfokuskan tentang bagaimana sebuah komputer menangani suatu masalah.

Programming language difficulty levels

  • Low-level programming language : Assembler
  • Medium-level programming language : C, Pascal, Fortran
  • High-level programming language : C#, Java, C++

Basic forms of algorithm can be described in two ways:

  • Pseudocode
  • Flowchart

Pseudo-code

  • Adalah penjelasan bahasa pemograman yang ditujukan untuk human reading, instead of machine reading.
  • Menggunakan bahasa inggris sehari-hari
  • Keywords yang dipakai

Example:

if, else, print, set, add, while, etc.

FLOWCHART

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan
urut-urutan prosedur dari suatu program.
Flowchart berfungsi :
•    untuk memudahkan perancangan alur urutan logika suatu program,
•    memudahkan pelacakkan sumber kesalahan program,
•    untuk menerangkan logika program.
•    menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil
•    menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.

Example:

Algorithm - Flowchart

 

Flowchart types

Algorithm - Flowchart 2

 

Example of efficient use of algorithms

  • Correct = Benar atau bukan hard code
  • Fast = Ketika di run,tidak memakan waktu yang lama
  • Small space = tidak memakan space yang besar
  • Clever = pintar” dalam mengefesiensikan coding
  • General = bersifat umum
  • Simple = tidak rumit

Good Algorithm Practice

  • Having the right logical flow to solve the problem
  • Producing the correct output in a time efficient manner
  • Written using unambiguous structured language
  • Easy implementation into real programming language
  • All steps and operations are clearly defined and ended

Sejarah C

Bahasa C erat kaitannya dengan seseorang yang bernama Dennis Ritchie. Dialah orang yang berada di balik dan sekaligus merancang Bahasa C sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Perlu kita ketahui, bahwa akar dari bahasa C adalah bahasa BCPL (Basic Combined Programming Language) yang dikembangkan oleh Martin Richard yang kemudian dikembangkan lagi oleh Ken Thompson menjadi bahasa pemrograman yang disebut dengan bahasa B. Bahasa C untuk pertama kalinya digunakan pada komputer Digital Equipment Corporation PDP 11 yang menggunakan sistem operasi UNIX.

Pada tahun 1983, ANSI (American National Standars Institute) membentuk suatu komite untuk menetapkan standar ANSI untuk Bahasa C. Standar ANSI tersebut didasarkan pada standar UNIX (catatan: standar dari UNIX adalah standar bahasa C yang asli). Standar ANSI menetapkan sebanyak 32 buah keyword. Ke 32 keyword tersebut adalah auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, dan while.

Kenapa pakai C

  • Fleksible

Bahasa pemograman/mesin yang mudah dimengerti

  • Portability

Digunakan dimicro computer sampai super computer

  • Bahasa pemograman yang populer

Digunakan diberbagai O/S dan aplikasi-aplikasi lainnya

  • Didukung dengan library yang banyak

 

Posted in Uncategorized | Leave a comment

Organizational skills

Participatory

Participate in every event

EFFECTIVE & EFFECIENT

Having good organizational skills is about making the best use of your time. Being organized reduces the amount of time you have to dig to uncover important business information. Understand where your time goes. For example, if you check email every five minutes, you might want to create a twice-a-day email schedule to more effectively handle your inbox. Delegate certain duties to your employees so you can focus your time on your business strengths. Maintain a calendar so you don’t miss appointments and can schedule your work around your meetings and other obligations.

Posted in Uncategorized | Leave a comment

FEP

Hai para calon binusian!

Selamat ya sudah menentukan pilihan anda di Binus University.Umumnya,bagi mahasiswa baru disetiap kampus pasti harus mengikuti yang namanya ospek tidak terkecuali calon binusian.Biasanya ospek digambarkan dengan kekerasan dan senioritas,tetapi tidak dengan ospek di Binus.Di Binus,ospek disebut dengan kata FEP.

Apa itu FEP ?.Fep adalah ospek versinya Binus University yang berkualitas tinggi dan mempunyai misi untuk membekali para calon Binusian dengan pengetahuan tentang perkuliahan dan sukses sampai kerja nanti.Intinya adalah FEP merupakan serangkaian kegiatan orientasi yang bertujuan untuk membantu Binusian baru dalam beradaptasi terhadap sistem,peraturan,dan cara belajar di dunia kampus.Fep terbagi dalam 3 bagian yaitu

General Orientation(1 minggu, terdiri dari beberapa batch)

Di sini Binusian baru akan mengenal lingkungan Binus University,Peraturan dan registrasi perkuliahan,Organisasi Kemahasiswaan,serta mengenal para senior dan BC(Buddy Coordinator).Binusian baru diwajibkan memakai kemeja putih lengan pendek dan celana bahan selama GO.Tiap akhir GO akan ada Expo Organisasi Kemahasiswaan yang akan menampilkan keunikan setiap-setiap UKM masing-masing.Binusian baru dapat memilih UKM mana yang akan dipilih sesuai dengan minat dan bakat masing-masing.

Academic Orientation(2 minggu sebelum perkuliahan)

Di AO,Binusian baru akan mengenal kurikulum dari masing-masing program/jurusan,mengenal dosen/pembimbing akademik,materi dasar jurusan/program,dan study skills.Selama CLO,Binusian sudah bebas memakai baju dalam perkuliahan seperti biasanya.

Campus Life Orientation(1 semester)

Selama CLO,Binusian baru akan beradaptasi dengan dunia perkuliahan,membiasakan diri dengan jadwal kuliah,dan juga meningkatkan kemampuan dalam berbahasa inggris.

SAT

Kalian akan mendapatkan sejumlah poin yang bertotalkan 100 poin dari setiap sesi kegiatan FEP yang dihadiri.SAT berguna untuk mengurus skripsi disemester akhir.Apabila kalian lulus FEP,kalian berkesempatan menjadi Mentor,Buddy Coordinator(BC),English Tutor,Pengurus Organisasi Kemahasiswaan,serta memperoleh beasiswa Binus University,dll.

Posted in Uncategorized | Leave a comment