SlideServe
Menu
Préférences
© SlideServe · v2026

Proses Sederhana

barton avatar
43 diapositives · 711 Views · Jul 30, 2014

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

Proses Sederhana - slide 1
01 / 43Proses Sederhana
1 / 17

Télécharger la présentation

Proses Sederhana
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Proses Sederhana Pertemuan 04 Dasar Pemrograman Komputer [TKL-4002] 2010

  2. 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.

  3. Outline Materi Proses Sederhana (Simple Statement) Ekspresi Operator Penugasan (assignment) Operator Logika Operator Aritmetika Operator Relasional Operator Bitwise

  4. 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.:

  5. 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.:

  6. 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:

  7. 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

  8. PresedensidanAssosiativitas Operator Presedensimenentukanurutanpengerjaanoperator berdasarkanprioritas. Operator yang memilikitingkatpresedensilebihtinggiakandikerjakanlebihdahulu. Assosiativitasmenentukanurutanpengerjaanoperator berdasarkanlokasinyadalamsebuahekspresi(apakahdarikiriataudarikanan). Assosiativitasberlakuuntuk operator-operator yang memilikipresedensi yang sama.

  9. OPERATOR denganPrioritas danUrutan Pengerjaan

  10. OPERATOR denganPrioritas danUrutan Pengerjaan

  11. 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);

  12. 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); }

  13. 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.

  14. Operator • Berdasarkanjenisoperasinya, operator dalambahasapemrograman C dapatdikelompokkan : • Operator Penugasan (assignment operator) • Operator Logika • Operator Aritmatika • Operator Relasional • Operator Bitwise • Operator Pointer

  15. 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.

  16. 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 */

  17. Operator Aritmatika Digunakanuntukmelakukanoperasimatematika

  18. 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

  19. 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;

  20. 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:

  21. 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

  22. Operator Aritmatika • Setiapekspesi yang berbentuk : <Variabel> = <Variabel> <Operator><Exp>; dapatdigantidengan : <Variabel> <Operator> = <Exp>; • Operator iniseringdisebutdenganCombined Operator.

  23. 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

  24. Operator Relasional • Digunakanuntukmembandingkanduanilai, danhasilnya TRUE atau FALSE

  25. 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

  26. 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 :

  27. 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.

  28. 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); }

  29. Operator Logika • Digunakanuntukmelakukanoperasilogika • Table Kebenaranoperator logika:

  30. 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

  31. Operator Bitwise

  32. 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:

  33. 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:

  34. 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;

  35. 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

  36. Operator Pointer AKAN DIBAHAS PADA TOPIK POINTER • Pointer operator terdiridari : • & (address of) • * (value of)

  37. 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;

  38. Latihan • Sebutkancontoh operator yang termasuk : • Unary Operator • Binary Operator • Ternary Operator • Sebutkanbeberapa operator yang bisaberfungsisebagai unary dan binary operator, danberikancontohnya.

  39. 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?

  40. 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?

  41. 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 ?

  42. 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 ?

  43. Latihan z = (n > 0) ? f : b; Perhatikan conditional expression diatas, bolehkahsekiranya variabel f dan b memilikitipe data yang berbeda?