Oct
23
2015
0

Review Algorithm & Programming Class PART.4

Hari, tanggal : Kamis, 22 Oktober 2015

Materi             : Program Control: Repetition

Tempat           : Ruang 800 Kampus Anggrek Binus Univ.

 

Definisi Repetisi/ Repetition (Perulangan) :

Adalah suatu kondisi dimana satu/ lebih intruksi atau perintah diulang untuk beberapa kali waktu yang telah ditentukan.
Banyaknya perulangan dapat ditentukan sebelum atau ditentukan nanti setelah run time.

Ada beberapa tipe operasi repetition/looping (Perulangan) yaitu :

  1. For
  2. While
  3. Do-While

PENJELASAN :

  • FOR
    Perbedaan FOR dengan tipe operasi perulangan yang lain adalah FOR dapat melakukan looping tanpa adanya kondisi yang telah ditetukan sebelumnya (tetapi akan menjadi looping forever), sedangkan tipe operasi lain harus memiliki kondisi agar dapat berjalan.
    Contoh FOR tanpa kondisi (looping forever) : for(;;) statement;Syntax :
    for(exp1; exp2; exp3) statement;or:for(exp1; exp2; exp3){  statement1;

      statement2;

      …….

     }

    KETERANGAN :
    exp1
     :  inisialisasi /initialization

    exp2 :  kondisi /conditional

    exp3 :  kenaikan atau pengurangan /increment or decrement

    exp1, exp2 dan exp3 opsional
    exp1 dan exp3 bisa terdiri atas beberapa pernyataan yang dipisahkan dengan tanda koma (,) .
    Tanpa exp2 maka akan menjadi looping forever.
    Pada tipe operasi FOR, ada 2(dua) jenis Looping, yaitu :

    Infinite Loop (forever)
    Loop dengan tanpa kondisi untuk berhenti/ Loop tanpa henti dapat dilakukan menggunakan “for-loop” ,dengan menghapus/membuang semua parameternya (exp1; exp2; exp3). Untuk mengakhiri loop,gunakan break.

    Nested Loop (kontinu)
    Terdapat loop di dalam loop. Operasi perulangan dimulai dari bagian dalam loop terlebih dahulu.

  • WHILE
    Dalam tipe operasi perulangan WHILE, kondisi harus selalu ada/ telah ditentukan sebelumnya.
    ‘exp’ (kondisi) adalah pernyataan Boolean, yang akan menghasilkan nilai true(tidak =nol) atau false(=nol).
    Perintah hanya akan dieksekusi/berjalan jika kondisinya(exp) bernilai true (tidak sama dengan nol).
    Jadi pada WHILE, Pemeriksaan kondisi telah selesai dilakukan sebelum perintah dieksekusi.
    Syntax :
    while (exp) statements;or:while(exp){  statement1;  statement2;

       …..

    }

     

  • DO-WHILE
    Dalam tipe operasi perulangan DO-WHILE, perintah akan tetap dieksekusi sementara kondisi bernilai true.
    Jadi pada DO-WHILE, Pemeriksaan kondisi akan dilakukan setelah perintah dieksekusi/ dapat juga dijelaskan bahwa Perintah telah selesai dieksekusi sebelum pemeriksaan kondisi dilakukan.
    Dengan begitu, dapat disimpulkan bahwa pada DO-WHILE, minimal 1x pengeksekusian perintah akan terjadi.Syntax :
    do{    < statements >;} while(exp); 

OPERASI REPETISI/ LOOPING/ PERULANGAN

  • Dalam operasi WHILE, suatu/ beberapa perintah atau pernyataan mungkin tidak akan pernah dieksekusi sama sekali jika ‘exp’ (kondisi) bernilai false.
  • Sementara dalam operasi DO-WHILE, suatu/ beberapa perintah atau pernyataan akan dieksekusi minimal 1kali.
  • Untuk mengakhiri perulangan, dapat dilakukan dengan beberapa cara, yaitu :
    – Melalui Sentinel (menggunakan angka nol ‘0’ untuk input)
    – Melalui Pertanyaan (contoh : “should the repetition continue?“)

BREAK VS CONTINUE

BREAK :
Untuk mengakhiri loop (for, while, do-while) / keluar dari loop secara paksa.
Untuk mengakhiri operasi switch.

CONTOH :
#include <stdio.h>

int main() {

        int x;

        for(x=1; x<=10; x++) {

      if (x == 5) break;

       printf(“%d “, x);

        }

        return 0;

}

Output : 1 2 3 4

 

CONTINUE :
Untuk men-skip (melewati) semua sisa pernyataan berikutnya dalam suatu perulangan, dan melanjutkannya secara normal ke perulangan berikutnya.

CONTOH :
#include <stdio.h>

int main() {

        int x;

        for(x=1; x<=10; x++) {

      if (x == 5) continue;

       printf(“%d “, x);

        }

        return 0;

}

Output : 1 2 3 4 6 7 8 9 10

Read more
Oct
21
2015
0

Review Algorithm & Programming Class PART.3

Hari, tanggal : Kamis, 15 Oktober 2015

Materi             : Program Control: Selection

Tempat           : Ruang 800 Kampus Anggrek Binus Univ.

Definisi Seleksi/ Selection :

Implementasi dari perintah yang kemudian akan dijalankan (atau tidak), dengan kondisi yang telah ditentukan sebelumnya.

Ada beberapa jenis selection yaitu :

  1. If
  2. If-else
  3. Nested-if
  4. Switch-case
  5. ?: Operator
  6. Go-to and Label

PENJELASAN :

  • If
    Fungsi “If” digunakan untuk menyeleksi kondisi yang diberikan benar atau salah. Jika kondisi benar/ terpenuhi, maka sebuah/beberapa pernyataan akan dieksekusi, sebaliknya jika kondisi salah, maka pernyataan tidak akan dieksekusi.Syntax :
    if (boolean expression) statement;
    or
    if (boolean expression) {
         statement1;
         statement2;
       ……
    }

 

  • If-Else
    Fungsi “If-Else” digunakan untuk melakukan seleksi apabila terdapat beberapa kondisi (lebih dari 1). Jika kondisi pertama terpenuhi maka pernyataan pertama akan dieksekusi, jika tidak, maka kondisi selanjutnya akan diseleksi hingga mendapatkan kondisi yang benar dan pernyataan yang sesuai (dicari kondisi yang benar secara terstruktur).Syntax :
    if (boolean expression) statement1;
    else statement2;
    or
    if (boolean expression)
    {
    statement1;
    statement2;
    ……
    }
    else
    {
    statement3;
    statement4;

    }

 

  • Nested-if
    Fungsi “Nested-If” digunakan ketika kata IF muncul lebih dari 1 kali dalam IF statement(apabila ada If di dalam If tersebut). Di dalam kasus ini ada beberapa syarat yang harus dipenuhi agar pernyataan dapat berjalan. Jadi, kondisi benar atau salah diikuti oleh struktur seleksi lainnya.

    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;

 

  • Switch-case
    Fungsi “Switch-case” digunakan untuk menggantikan If-else, ketika level angka If-else nested sangat besar dan sulit untuk dibaca. Dalam Switch-case, pengerjaan if  menggunakan nilai constant. Switch-case menyeleksi kondisi dengan melihat setiap nilai constant. Jika kondisi sesuai dengan nilai case constant, maka pernyataan terkait akan dieksekusi, Jika tidak sesuai, maka pernyataan default yang akan dieksekusi.
    NOTE : Expression dan tipe constant harus integer/INT (termasuk char).
    case constant adalah angka pertama.
    break adalah perintah untuk menghentikan terjadinya perulangan yang tak hingga.

    Syntax :

    switch (expression) {
    case constant1 : statements1; break;
    .
    .
    case constant2 : statements2; break;
    default : statements;
  • ?: Operator 
    Fungsi “?: Operator” (Conditional assignment) telah dijelaskan pada post sebelumnya tentang penggunaan ?: Operator. Seperti halnya penggunaan if-else tetapi hanya 1 buah if-else.
    Misal :a=5 b=3z=(a>b) ? a : b

    Jadi yang dimaksud adalah jika pernyataan a>b itu benar, maka akan menampilkan variabel a,tetapi jika pernyataan a>b itu salah maka variabel b yang akan ditampilkan.

    Syntax :
    condition ? then-expression : else-expression


  • Go-to and Label
    Penggunaan perintah “Go-to and Label” sudah tidak digunakan/ditinggalkan karena bentuknya yang tidak rapi, berantakan dan membingungkan. Go-to Label juga sudah tidak dikembangakan lagi.Syntax :
    goto label;                    ……

      label :

                        ……

     

 

ERROR TYPE

  1. Compile time error : terjadi dikarenakan syntax error.
  2. Link time error : Berhasil compile tapi menyebabkan link time error karena code link tidak ada saat itu.
  3. Run time error  : Berhasil compile tapi data menjadi berantakan karena mengambil memori secara random.
  4. Logical error     : Berhasil compile tapi hasil gagal dikarenakan kesalahan logika/algoritma.
Read more
Oct
14
2015
0

Review Algorithm & Programming Class PART.2

Hari, tanggal : Kamis, 08 Oktober 2015

Materi             : Operator,Operand,and Arithmetic

Tempat           : Ruang 800 Kampus Anggrek Binus Univ.

 

Operator dan Operand

Operator : simbol-simbol  yang dipakai dalam suatu aritmatika untuk menghasilkan nilai baru.

Operand : objek dari perhitungan matematika/ data yang akan diproses oleh operator.

Operator ada 3 macam:

  1. Unary Operator : hanya membutuhkan 1 operator
  2. Binary Operator : membutuhkan 2 operator
  3. Ternary Operator : membutuhkan 3 atau lebih operator

Berdasarkan tipe operasinya, operator dibagi menjadi 6 yaitu:

  • Assignment Operator (=)
  • Logical Operator          &&(and),|| (or),! (not), Pow (pangkat)
  • Arithmetic Operator    (+ – * /) , ++y , y++ , –y , y–
  • Relational Operator     ==,!=,<,>,>=,<=,?:
  • Bitwise Operator          <<,>> &(And),|(Or),^(Xor),~(Komplemen)
  • Pointer Operator          ->

 

A.  Contoh Assignment Operator:

A=2 B=3

menunjukan bahwa nilai A=2 dan nilai B=3

Contoh Aritmethic Operator:

A=3 , B=2 , C=B-1

jadi C memiliki hasil dimana C adalah nilai B dikurang 1

 

B.  Logical operator

&&   : And
||     : Or
!       : Not

PENJELASAN : 

  • And (&&)
    Pada pernyataan “And” hanya akan benar jika semua pernyataan benar.
  • Or (||)
    Pada pernyataan “Or” jika terdapat 1 pernyataan yang benar maka hasilnya akan benar
  • NOT (!)
    Pada pernyataan “Not”, pernyataan sebelumnya akan berubah menjadi sebaliknya, dari salah menjadi benar atau benar menjadi salah.
Symbol Functionality
&& AND
|| OR
! NOT

Truth Table :

A B !A A && B A || B
True True False True True
True False False False True
False True True False True
False False True False False

 

C.  Arithmetic operator

Symbol Functionality Example
+ Addition x = y + 6;
Subtraction y = x – 5;
* Multiply y = y * 3;
/ Division z = x/y;
% Modulo A = 10 % 3;
++ Increment x++;
Decrement z–;
() Scope / Priority x=(2+3)*5

CATATAN :

N++  :  post increment

++N :  pre increment

N−−  :  post decrement

−−N  : pre decrement

 

 

D.  Relational Operator:

Symbol Functionality
= = Equality
!= Not equal
< Less than
> Greater than
<= Less or equal than
>= Greater or equal than
?: Conditional assignment

CATATAN :

Contoh Conditional assignment (?:)

a=5 b=3

z=(a>b) ? a : b

jadi yang dimaksud adalah jika pernyataan a>b itu benar maka akan memunculkan variabel a,tetapi jika pernyataan a>b itu salah maka variabel b yang akan dimunculkan.

 

E.  Contoh Bitwise Operator:

Bit by bit operation (operator tentang binary)
Contoh 1:
Cara mencari bilangan biner angka 10
1.     cari 2^n yang hasilnya mendekati dan kurang dari 10 lalu beri angka 1
2^3 2^2 2^1 2^0
1     _     _     _
2.      kurangi 10 dengan 8 (hasil 2^3) lalu beri angka 1 = 2 (2^1)
2^3 2^2 2^1 2^0
1     _     1     _
3.      Lakukan hingga tidak dapat dikurangi lagi, lalu beri angka 0 yg tidak terisi
2^3 2^2 2^1 2^0
1     0     1     0
4.      Jadi bilangan biner dari angka 10 adalah 1010

 

Contoh 2 :

int A, B=78

A=B >> 3; value=9

A=B << 2; value A=312

Alasannya

78 = 0100 1110   **adalah penulisan 78 dalam binary

>> 3 berarti ada pergeseran ke kanan sebanyak 3 kali ,maka..

0010 0111 -> pergeseran pertama

0001 0011 -> pergeseran kedua

0000 1001 -> pergeseran ketiga

sehingga juga dihitung hasilnya menjadi 9

 

<< 2 berarti ada pergeseran ke kiri sebanyak 2 kali ,maka..

0100 11100 -> pergeseran pertama

0100 111000-> pergeseran kedua

sehingga juga dihitung hasilnya menjadi 312

 

CATATAN :

Penghitungan Biner

1           1            1          1         1         1         1         1

↑          ↑            ↑         ↑          ↑         ↑        ↑         ↑

2ˆ7    2^6       2^5     2^4    2^3    2^2    2^1   2^0 =255

0000 0000 = 0
0000 0001 = 1     -> 2^0
0000 0010 = 2     -> 2^1
0000 0100 = 4     -> 2^2
0000 1000 = 8     -> 2^3
0001 0000 = 16   -> 2^4
0010 0000 = 32   -> 2^5
0100 0000 = 64   -> 2^6
1000 0000 = 128 -> 2^7

** simbol ‘^’ : pangkat

jadi,

  • 0000 1010 = 10
  • 0000 1111  = 15
  • 0010 0011 = 35Angka nol di depan angka 1 boleh tdk perlu ditulis

 

Read more
Oct
06
2015
0

Review Algorithm & Programming Class PART.1

Materi 1  : ALGORITMA SEDERHANA

Tempat : Ruang 800 Kampus Anggrek

OOP : Object-Oriented Programming.

Mengapa menggunakan OOP ? Karena keuntungannya adalah…

  • Lebih REUSABLE
  • Antara satu objek dengan objek yang lain saling berhubungan

ISTILAH DALAM OOP :

Encapsulation : teknik privatisasi yang biasanya digunakan untuk pengamanan (Security), sehingga membatasi hak akses seseorang terhadap suatu program dan tidak dapat diakses dengan sembarangan.
Inheritance : 
salah satu konsep OOP yang merupakan pewarisan sifat induk kepada  anak yang bersifat tidak wajib untuk ditampilkan (suna).
Abstraction : 
 pewarisan sifat induk kepada  anak yang dapat bersifat wajib atau tidak wajib untuk ditampilkan (akan menjadi wajib ditampilkan apabila ditulis ‘abstract‘).
Interface : 
disebut sebagai Bapak tertinggi dalam OOP sehingga sifatnya wajib ditampilkan methodnya. Pada OOP, Bapak hanya boleh 1 tapi boleh banyak jasa.
Polymorphism :  objek yang sama bisa di pakai pada suatu hal yang sama. Satu untuk semua. Penulisan dengan method yang sama untuk mempermudah dengan hasil yang berbeda. Dapat di artikan banyak bentuk, maksudnya kita dapat melakukan overrun, jadi keturunannya memiliki sifat yang berbeda dengan induk.

Program sistem yang digunakan sebagai alat bantu dalam pemrograman
Compiler
 : Mengkompilasi source code menjadi bentuk file yang bisa dieksekusi.
Interpreter : Mengkompilasi dan menjalankan source code secara langsung.

Tingkat Bahasa Pemrograman:

1. Tingkat rendah : Menggunakan Assembler
2. Tingkat sedang : Menggunakan Bahasa C, Pascal, Fortan
3. Tingkat Tinggi : Menggunakan C++, C#, Java
Materi  2 : Algorithm & Programming and Introduction to C Programming
Tempat : Ruang 800 Kampus Anggrek
  1. Penemu Algoritma ialah Abu Abdullah Muhammad bin Musa al-Khwarizmi.
    Algoritma adalah suatu proses atau susunan tahapan untuk menyelesaikan suatu masalah.
  2. Penyelesaian Algoritma bisa dituliskan dengan 2 cara yaitu:
    Dalam bentuk tulisan : Structure English dan Pseudocode (bagaimana bahasa sehari-hari bisa dimegerti)
    Dalam bentuk gambar : Flowchart (Algoritma berbentuk aliran/bagan/diagram -ada Start dan End) 
  3. Structure of Theorem
    a. Sequence : urutan perintah/pernyataan.
    b. Selection : seperti IF, else.
    c. Repetition : seperti Looping (Do while).
  4. Susunan proses algoritma dalam programming:
    >> Input : Memasukkan data.
    >> Proses: Pengolahan data (terdapat compile, store, repetition, compose)
    >> Output: Menampilkan hasil data.INPUT -> PROSES -> OUTPUT
  5. Kenapa kita menggunakan bahasa C ? Karena….
  • Flexible, mudah dimengerti.
  • Portable, Dapat digunakan pada OS manapun.
  • Well known, bahasa yang paling sering digunakan dalam bahasa pemrograman.
  • A large number of library

6. Keyword dan Variabel

Keyword adalah beberapa perintah(command) bawaan dari aplikasi bahasa pemrograman yang digunakan untuk menjalankan beberapa perintah. Keyword memiliki arti spesial pada C Compiler.
Beberapa contoh keyword : printf, scanf, if, elseif ,main dan masih banyak lagi

Variabel yaitu data yang isinya dapat kita ubah.

**Hati-hati dalam penamaan suatu variabel ! Jangan menamakan suatu variabel sama dengan keyword yang telah ada ! Penting untuk mengenali semua penamaan keyword yang ada.

Read more

Powered by WordPress. Kredit, Streaming Audio | Theme by TheBuckmaker.