Proses sederhana
Download
1 / 43

Proses Sederhana - PowerPoint PPT Presentation


  • 145 Views
  • Uploaded on

Proses Sederhana. Pertemuan 04. Dasar Pemrograman Komputer [TKL-4002] 2010. Learning Outcomes. Pada akhir pertemuan ini , diharapkan mahasiswa akan mampu :

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Proses Sederhana' - barton


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Proses sederhana

Proses Sederhana

Pertemuan 04

Dasar Pemrograman Komputer [TKL-4002]

2010


Learning outcomes
Learning Outcomes

Padaakhirpertemuanini, diharapkanmahasiswaakanmampu :

  • Memahami tentang proses sederhana (simple process) berupa pemanggilan procedure (fungsi) dan ekspresi serta dapat menerapkannya dalam algorithma ataupun pemrogramandengan bahasa pemrograman C.


Outline materi
Outline Materi

Proses Sederhana (Simple Statement)

Ekspresi

Operator Penugasan (assignment)

Operator Logika

Operator Aritmetika

Operator Relasional

Operator Bitwise


Proses sederhana1
Proses Sederhana

Aliran Masukan

Aliran Masukan

Proses

Proc_name()

atau

Aliran Keluaran

Aliran Keluaran

  • Pemanggilan procedure/fungsi

  • Perhitungan Arithmatika/Logika

  • Dikatakan proses sederhana karena dipandang sebagai proses yang hanya mempunyai sebuah aliran masukan dan sebuah aliran keluaran.

  • Proses sederhana dalam pemrograman komputer terdiri dari:

    • Pemanggilan procedure atau fungsi

    • Perhitungan arithmatika atau logika

  • Dalam flow-chart digambarkan sbb.:


Ekspresi
Ekspresi

Dalam C

Var  perhitungan A/L

Ekspresi

Ekspresi merupakan proses sederhana dalam pemrogram-an komputer untuk melakukan proses perhitungan arithmatika dan logika.

Prinsip dasar perhitungan arithmatika dan logika dalam pemrograman komputer adalah melakukan perhitungan arithmatika atau logika kemudian hasilnya disimpan dalam variabel tertentu. Dalam flowchart digambarkan sbb.:


Ekspresi1
Ekspresi

c  c + 1

Dlm bhs pemrograman C dapat ditulis:

c=c+1; atau c+=1; atau ++c; atau c++;

Karena tidak ada proses penyimpanan dari hasil perhitungan dari c+1 kevariabel

c + 1

Contoh:

Artinya (dibaca) nilai data dari variabel c ditambah dengan 1 hasilnya disimpan ke dalam variabel c.

Tidak boleh:


Ekspresi2
Ekspresi

Untuk itu setiapoperatormemilikipresedensi(hirarki) danassosiativitas.

Komponen utama ekspresi adalah operand dan operator.

Operand dapat berupa variabel, konstanta, nilai data konstan maupun fungsi. Setiap operand harus memiliki nilai data.

Operator adalahsimbol yang mengolahnilaipada operand danmenghasilkansatunilaibaru.

Dalam pemrograman komputer penulisan perhitungan arithmatika/logika TIDAK BOLEH BERTINGKAT. Contoh:

Untuk itu


Pre sedensi dan asso s iativi tas operator
PresedensidanAssosiativitas Operator

Presedensimenentukanurutanpengerjaanoperator berdasarkanprioritas. Operator yang memilikitingkatpresedensilebihtinggiakandikerjakanlebihdahulu.

Assosiativitasmenentukanurutanpengerjaanoperator berdasarkanlokasinyadalamsebuahekspresi(apakahdarikiriataudarikanan).

Assosiativitasberlakuuntuk operator-operator yang memilikipresedensi yang sama.


Operator dengan prioritas dan urutan pengerjaan
OPERATOR denganPrioritas danUrutan Pengerjaan


Operator dengan prioritas dan urutan pengerjaan1
OPERATOR denganPrioritas danUrutan Pengerjaan


Operator dengan prioritas dan urutan pengerjaan2
OPERATOR denganPrioritas danUrutan Pengerjaan

4

5

1

2

6

3

7

8

  • Contoh:

  • Ditulis dalam bhs pemrograman C:

    • x = (x * y + y * z)/(x * y – y * z);


Precedence dan associativity
Precedence danAssociativity

#include <stdio.h>

#include <iostream.h>

int main () {

int a, b, z=100; float x, y;

printf("Melihat pengaruh prioritas dan urutan pengerjaan\n\n");

printf("Masukkan sebarang nilai integer: ");

scanf("%d",&a);

x = a/3*3; y = a*3/3; z += b = a;

printf("\n\nx = %d/3*3, diperoleh x = %f\n\n",a,x);

printf("y = %d*3/3, diperoleh y = %f\n\n",a,y);

printf("bila z=100, maka untuk z += b = %d diperoleh z = %d\n\n\n",a,z);

system("PAUSE");

return(0);

}


Operator
Operator

  • Didasarkanatas jumlah operand, operator dapatdibedakanmenjaditigajenis, yaitu:

    • Unary operator

    • Binary operator

    • Ternary operator

  • Unary operator memerlukan1 operand, binary operator memerlukan2 operand, sedangkanternary operator memerlukan 3 operand.


Operator1
Operator

  • Berdasarkanjenisoperasinya, operator dalambahasapemrograman C dapatdikelompokkan :

    • Operator Penugasan (assignment operator)

    • Operator Logika

    • Operator Aritmatika

    • Operator Relasional

    • Operator Bitwise

    • Operator Pointer


Operator penugasan assignment
Operator Penugasan (assignment)

  • Termasuk Binary operator

  • Digunakanuntukmemberikannilaikepadasuatu Operand. Sintaksbb:

    operand1 operator operand2;

  • Operand1 harusberupavariabel, sedangkanoperand2 dapatsebarang operand termasukvariabeldari operand1.

  • Urutan pengerjaan (assosiativitas) operator penugasandarikananke kiri.


Operator penugasan
Operator Penugasan

  • Contoh

    x = 2; // konstanta

    x = y; // variabel lain

    x = 2 * y; // ekspresi

    a = sin (y); // fungsi

  • Tipehasiloperasidisesuaikandengantipe operand sebelahkiri.

    int x = 7/2; /*nilai x samadgn 3 */

    float y = 3; /*nilai y samadengan 3.000 */


Operator aritmatika
Operator Aritmatika

Digunakanuntukmelakukanoperasimatematika


Operator aritmatika1
Operator Aritmatika

  • Modulo:

    • Simbol : %

    • Termasuk Binary operator

    • Untukmenghitungsisahasilbagi

    • n % 2, dapatdigunakanuntukmengujiapakah integer n bernilaigenapatauganjil

      • n % 2 = 0  n GENAP

      • n % 2 = 1  n GANJIL

  • Increment dan Decrement:

    • Simbol : ++(increment), --(decrement)

    • Termasuk unary operator

    • Menaikkan (++) danmenurunkan (--) nilaivariabeldengan 1

    • Posisinyabisadidepan (pre) ataudibelakang (post) variabel


Operator aritmatika2
Operator Aritmatika

  • Contoh:

    N++; //post increment

    ++N; //pre increment

    N--; //post decrement

    --N; //pre decrement

  • Jika statement increment stand alone. Maka N++; atau ++N; samaartinya N=N+1;

  • Jika statement decrement stand alone. Maka N--; atau --N; samaartinya N=N-1;


Operator aritmatika3
Operator Aritmatika

#include <stdio.h>

int main ()

{intx = 44; int y = 44;

++x;

printf(”x = %d\n”, x); /* hasilnya 45 */

y++;

printf(”y = %d\n”, y); /* hasilnya 45 */

}

Contoh:


Operator aritmatika4
Operator Aritmatika

int main () {

int x=44; int y = 44; int z;

z = ++x; /* z, x nilainya 45 */

z = y++; /* z nilainya 44 dan y nilainya 45 */

return(0);

}

Jika ++n dan n++ sebagai statement yang terikatdalamekspresilainnya (sub expresi), keduanyamempunyaiarti yang berbeda.

++n -> n ditambah 1, barudiprosesterhadapekspresinya

n++ -> n langsungdiprosesterhadapekspresinyatanpaditambah 1 terlebihdahulu, padasaatselesaibaru n ditambah 1


Operator aritmatika5
Operator Aritmatika

  • Setiapekspesi yang berbentuk :

    <Variabel> = <Variabel> <Operator><Exp>;

    dapatdigantidengan :

    <Variabel> <Operator> = <Exp>;

  • Operator iniseringdisebutdenganCombined Operator.


Operator aritmatika6
Operator Aritmatika

Contohsoal:

x *= y +1; artinyasamadengan :

  • x = x * (y + 1);

  • x = x * y + 1;

  • x = x + 1 * y;

  • x = (x + 1) * y;

    Jawab:A


Operator relasional
Operator Relasional

  • Digunakanuntukmembandingkanduanilai, danhasilnya TRUE atau FALSE


Operator relasional1
Operator Relasional

  • TRUE dalambahasapemrograman C nilainyaTidaksamadengan NOL

  • FALSE dalambahasapemrograman C nilainyasamadengan NOL

  • Sedangkannilai TRUE yang disetoleh program C saat run time nilainyasamadengan1.

  • Contoh:

    int x;

    x = (20 > 10); //nilai x samadgn 1

    x = (20 == 10); //nilai x samadgn 0


Operator relasional2
Operator Relasional

#include<stdio.h>

int main()

{intx=5,y=6;

if ( x == y) printf("%d samadengan %d\n",x,y);

if ( x != y) printf("%d tidaksamadengan %d\n",x,y);

if ( x < y) printf("%d lebihkecildaripada %d\n",x,y);

if ( x > y) printf("%d lebihbesardaripada %d\n",x,y);

if ( x <= y) printf("%d lebihkecilatausamadengan %d\n",x,y);

if ( x >= y) printf("%d lebihbesaratausamadengan %d\n",x,y);

return(0);

}

Contoh :


Conditional expressions
Conditional Expressions

  • Conditional expression menggunakan ternary operator ?:

  • Sintak : exp1 ? exp2 : exp3;

    • Jika exp1 bernilai true, maka exp2 dieksekusi. Sebaliknya jika exp1 bernilai false, maka exp3 dieksekusi.

  • Contoh yang samaartinyadgn statement diatas:

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

    Jika (a>b) bernilai benar maka z=a. Sebaliknya jika (a>b) bernilai salah maka z=b.


Conditional expressions1
Conditional Expressions

Contoh:

#include <stdio.h>

#include <iostream.h>

int main () {

int bil, abs;

printf("Menentukan nilai absolut\n\n");

printf("Masukkan bilangan integer: ");

scanf("%d",&bil);

abs = (bil >= 0) ? bil : - bil;

printf("Nilai absolutnya adalah : %d \n\n",abs);

system("PAUSE");

return(0);

}


Operator logika
Operator Logika

  • Digunakanuntukmelakukanoperasilogika

  • Table Kebenaranoperator logika:


Operator logika1
Operator Logika

  • Operand pada operator logikaharus mempunyai nilai boolean, yaitu TRUE atau FALSE. Meskipun dalam bahasa C/C++ nilai TRUE dinyatakan dalam bentuk nilai integer yang tidak sama dengan nol (0) dan sebaliknya nilai FALSE dinyatakan dalam bentuk nilai integer yang sama dengan nol (0), tetapi nilai data integer tidak dibolehkan sbg operand dari operator logika.

  • Contoh:

    int x=5; inty=0, a , b;

    a = x && y; //error (hasilygsalah)

    b = (x > y) && (y>=0); //ok



Operator bitwise1
Operator Bitwise

a=24 Binernya: 011000

b=35 Binernya: 100011

(a&b) per bit hasilnya: 000000 desimalnya0

(a | b) per bit hasilnya : 111011 desimalnya59

inta=24; intb=35; intc;

c = a & b; //nilaic = 0

c = a | b; //nilaic = 59

  • Operasinyadilakukan bit per bit

  • Contoh:


Operator bitwise2
Operator Bitwise

Desimal 45 binernya: 0101101

Desimal 75 binernya: 1001011

Kemudian bit per bit di XOR kanmakahasilnya: 1100110 atau (102 desimal).

int A,B=45;

A=B^75; //Nilai A=102

  • Duabuah bit di-XOR-kanakanmenghasilkan 1 jikakedua bit tersebutberbeda, danakanmenghasilkan 0 jikakedua bit tersebutsama.

  • Contoh:


Operator bitwise3
Operator Bitwise

0xC3 binernya: 1100 0011

Di-komplemenkanhasilnya:

0011 1100 ataudlmnotasi hexadecimal menjadi 3C

Catatan:

Penulisanbilanganhexadesimalpadabhs pemrograman C menggunakan awalan0x atau 0X (nol-X).

  • Dengan menggunakan operator komplemen (~), makasetiap bit bernilai0 akan dirubahmenjadi 1 dansebaliknya.

  • Contoh:

    intA, B=0xC3;

    A=~B; //nilai A=0x3C;


Operator bitwise4
Operator Bitwise

Catatan:

78 binernya: 00100 1110

Geserkekanan3 bit: 000001001 = 9

Geserkekiri2 bit : 010011000 = 312

  • Operator shift-right (>> n) dapat dipergunakan untuk menggeser n bit ke kanan dan diberi nilai 0 (nol) sejumlah n bit dari paling kiri yang ditinggalkan.

  • Operator shift-left (<< n) dapat dipergunakan untuk menggeser n bit ke kiri dan diberi nilai 0 (nol) sejumlah n bit dari paling kanan yang ditinggalkan.

  • Contoh:

    int A, B=78;

    A = B>>3; //nilai A=9

    A = B<<2; //nilai A=312


Operator pointer
Operator Pointer

AKAN DIBAHAS PADA TOPIK POINTER

  • Pointer operator terdiridari :

    • & (address of)

    • * (value of)


Latihan
Latihan

  • Jikasemuavariabelbertipe integer, makatentukannilai A sbb:

    B=23; C=12; D=32; E=0;

    • A = B && E;

    • A = B & C;

    • A = C || D;

    • A = B | D;

    • A = B > 2;

    • A = B >> 2;

    • A = C < 3;

    • A = C << 3;

    • A = B = C;

    • A = B == C;


Latihan1
Latihan

  • Sebutkancontoh operator yang termasuk :

    • Unary Operator

    • Binary Operator

    • Ternary Operator

  • Sebutkanbeberapa operator yang bisaberfungsisebagai unary dan binary operator, danberikancontohnya.


  • Latihan2
    Latihan

    #include <stdio.h>

    int main()

    {intx=10, y=6;

    x *= 5 + y;

    y += y &= x;

    printf(“x = %d\ny = %d",x,y);

    return(0);

    }

    Apakah keluaran yang akan ditampilkan dilayar monitor bila program di atas berhasil dieksekusi?


    Latihan3
    Latihan

    #include <stdio.h>

    #include <iostream.h>

    int main () {

    float x;

    x = 7/2;printf("x = %f\n",x);

    x = 7.0/2;printf("x = %f\n",x);

    x = 7/2.0;printf("x = %f\n",x);

    x = 7.0/2.0;printf("x = %f\n",x);

    x = (float)7/2;printf("x = %f\n\n\n",x);

    system("PAUSE");

    return(0);

    }

    Bagaimanakah hasil keluaran yang ditampilkandilayarmonitor dari program di atas?, Jelaskan?


    Latihan4
    Latihan

    #include <stdio.h>

    #include <iostream.h>

    intmain () {

    int y=33, x=45;

    y = y && x; printf("y = %d\n",y);

    y = y & x; printf("y = %d\n",y);

    y = y || x; printf("y = %d\n",y);

    y = y | x; printf("y = %d\n",y);

    y &= y = x; printf("y = %d\n",y);

    y ^= y = x; printf("y = %d\n",y);

    system("PAUSE");

    return(0);

    }

    Apakah keluaran yang akan ditampilkan dilayar monitor bila program di atas berhasil dieksekusi ?


    Latihan5
    Latihan

    #include <stdio.h>

    #include <iostream.h>

    int main () {

    int y, n;

    n =10; y=++n; printf("y = %d\n",y);

    n =10; y=n++ printf("y = %d\n",y);

    n =10; n++ printf("n = %d\n",n);

    system("PAUSE");

    return(0);

    }

    Apakah keluaran yang akan ditampilkan dilayar monitor bila program di atas berhasil dieksekusi ?


    Latihan6
    Latihan

    z = (n > 0) ? f : b;

    Perhatikan conditional expression diatas, bolehkahsekiranya variabel f dan b memilikitipe data yang berbeda?