Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Dasar Pemrograman Komputer [TKL-4002] 2010. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Memahami tentang proses sederhana (simple.

Presentasi serupa


Presentasi berjudul: "1 Dasar Pemrograman Komputer [TKL-4002] 2010. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Memahami tentang proses sederhana (simple."— Transcript presentasi:

1 1 Dasar Pemrograman Komputer [TKL-4002] 2010

2 Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Memahami tentang proses sederhana (simple process) berupa pemanggilan procedure (fungsi) dan ekspresi serta dapat menerapkannya dalam algorithma ataupun pemrograman dengan bahasa pemrograman C. 2

3  Proses Sederhana (Simple Statement)  Ekspresi  Operator Penugasan (assignment)  Operator Logika  Operator Aritmetika  Operator Relasional  Operator Bitwise 3

4  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.: 4 Proses Aliran Masukan Aliran Keluaran atau Proc_name() Aliran Keluaran Aliran Masukan Pemanggilan procedure/fungsiPerhitungan Arithmatika/Logika

5  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.: 5 Var  perhitungan A/LEkspresi Dalam C

6  Contoh:  Artinya (dibaca) nilai data dari variabel c ditambah dengan 1 hasilnya disimpan ke dalam variabel c.  Tidak boleh: 6 c + 1 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 ke variabel

7  Komponen utama ekspresi adalah operand dan operator.  Operand dapat berupa variabel, konstanta, nilai data konstan maupun fungsi. Setiap operand harus memiliki nilai data.  Operator adalah simbol yang mengolah nilai pada operand dan menghasilkan satu nilai baru.  Dalam pemrograman komputer penulisan perhitungan arithmatika/logika TIDAK BOLEH BERTINGKAT. Contoh: 7 Untuk itu Untuk itu setiap operator memiliki presedensi (hirarki) dan assosiativitas.

8  Presedensi menentukan urutan pengerjaan operator berdasarkan prioritas. Operator yang memiliki tingkat presedensi lebih tinggi akan dikerjakan lebih dahulu.  Assosiativitas menentukan urutan pengerjaan operator berdasarkan lokasinya dalam sebuah ekspresi (apakah dari kiri atau dari kanan).  Assosiativitas berlaku untuk operator-operator yang memiliki presedensi yang sama. 8

9 9 KATEGORISIMBOLNAMAPRIORITAS URUTAN PENGERJAAN Resolusi Lingkup:: Resolusi Lingkup1Kiri-Kanan Kurung, indeks larik dan elemen struktur data () Kurung 2 Kiri-Kanan [] Elemen arrayKiri-Kanan -> Pointer ke anggota struktur atau kelasKiri-Kanan. Anggota struktur, union atau kelasKiri-Kanan Operator Unary ++ Pre-increment 3 Kanan-Kiri -- Pre-decrementKanan-Kiri ! Logika notKanan-Kiri ~ Komplemen BitwiseKanan-Kiri - Unary minusKanan-Kiri + Unary plusKanan-Kiri & AlamatKanan-Kiri * IndirectionKanan-Kiri (type) Type castingKanan-Kiri sizeof Ukuran tipe dataKanan-Kiri new Alokasi memoriKanan-Kiri delete Dealokasi memoriKanan-Kiri

10 10 KATEGORISIMBOLNAMAPRIORITAS URUTAN PENGERJAAN Operator aritmatika perkalian * Perkalian 4Kiri-Kanan / Pembagian % Sisa Pembagian Operator penambahan + Penambahan 5Kiri-Kanan - Pengurangan Pergeseran bit << Geser Kiri 6Kiri-Kanan >> Geser Kanan Operator Relational < Lebih kecil 7Kiri-Kanan <= Lebih kecil sama dg > Lebih besar >= Lebih besar sama dg Operator Relational == Sama dengan 8Kiri-Kanan != Tidak sama dengan Operator Bitwise & Bitwise AND9 Kiri-Kanan ^ Bitwise XOR10 | Bitwise OR11 Operator Logika && Logika AND12 Kiri-Kanan || Logika OR13 Operator Ternary?: Operator kondisi14Kanan-Kiri Operator Penugasan Majemuk =, +=, -=, *=, /=, %= Operator penugasan arithmatika 15Kanan-Kiri &=, ^=, |=, >= Operator penugasan bitwise Operator koma, Operator Koma16Kiri-Kanan

11  Contoh:  Ditulis dalam bhs pemrograman C:  x = (x * y + y * z)/(x * y – y * z);

12 12 #include 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  Didasarkan atas jumlah operand, operator dapat dibedakan menjadi tiga jenis, yaitu : Unary operator Binary operator Ternary operator  Unary operator memerlukan 1 operand, binary operator memerlukan 2 operand, sedangkan ternary operator memerlukan 3 operand. 13

14  Berdasarkan jenis operasinya, operator dalam bahasa pemrograman C dapat dikelompokkan : Operator Penugasan (assignment operator) Operator Logika Operator Aritmatika Operator Relasional Operator Bitwise Operator Pointer 14

15  Termasuk Binary operator  Digunakan untuk memberikan nilai kepada suatu Operand. Sintak sbb: operand1 operator operand2;  Operand1 harus berupa variabel, sedangkan operand2 dapat sebarang operand termasuk variabel dari operand1.  Urutan pengerjaan (assosiativitas) operator penugasan dari kanan ke kiri. 15

16  Contoh x = 2;// konstanta x = y;// variabel lain x = 2 * y;// ekspresi a = sin (y);// fungsi  Tipe hasil operasi disesuaikan dengan tipe operand sebelah kiri. int x = 7/2; /*nilai x sama dgn 3 */ float y = 3;/*nilai y sama dengan */ 16

17  Digunakan untuk melakukan operasi matematika 17 SimbolFungsiContoh +Penambahanx = y + 6; -Pengurangany = x – 5; *Perkaliany = y * 3; /Pembagianz = x/y; %ModuloA = 10 % 3; ++Incrementx++; --Decrementz--; ()Menaikan Priorityx=(2+3)*5

18  Modulo: Simbol : % Termasuk Binary operator Untuk menghitung sisa hasil bagi n % 2, dapat digunakan untuk menguji apakah integer n bernilai genap atau ganjil  n % 2 = 0  n GENAP  n % 2 = 1  n GANJIL  Increment dan Decrement: Simbol : ++(increment), --(decrement) Termasuk unary operator Menaikkan (++) dan menurunkan (--) nilai variabel dengan 1 Posisinya bisa di depan (pre) atau dibelakang (post) variabel 18

19  Contoh: N++; //post increment ++N; //pre increment N--; //post decrement --N; //pre decrement  Jika statement increment stand alone. Maka N++; atau ++N; sama artinya N=N+1;  Jika statement decrement stand alone. Maka N--; atau - -N; sama artinya N=N-1; 19

20  Contoh: 20 #include int main () { int x = 44; int y = 44; ++x; printf(”x = %d\n”, x);/* hasilnya 45 */ y++; printf(”y = %d\n”, y);/* hasilnya 45 */ }

21  Jika ++n dan n++ sebagai statement yang terikat dalam ekspresi lainnya (sub expresi), keduanya mempunyai arti yang berbeda.  ++n -> n ditambah 1, baru diproses terhadap ekspresinya  n++ -> n langsung diproses terhadap ekspresinya tanpa ditambah 1 terlebih dahulu, pada saat selesai baru n ditambah 1 21 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); }

22 22  Setiap ekspesi yang berbentuk : = ; dapat diganti dengan : = ;  Operator ini sering disebut dengan Combined Operator. EkspresiDapat diganti dengan a = a + b;a += b; a = a – b;a -= b; a = a * b;a *= b; a = a / b;a /= b; a = a % b;a %= b; a = a ^ b ;a ^= b;

23 Contoh soal: x *= y +1; artinya sama dengan : A. x = x * (y + 1); B. x = x * y + 1; C. x = x + 1 * y; D. x = (x + 1) * y; Jawab: A 23

24 24  Digunakan untuk membandingkan dua nilai, dan hasilnya TRUE atau FALSE SimbolFungsi = Sama Dengan !=Tidak Sama Dengan Lebih Besar Dari <=Lebih Kecil atau Sama Dengan >=Lebih Besar atau Sama Dengan ?:Conditional assignment

25  TRUE dalam bahasa pemrograman C nilainya Tidak sama dengan NOL  FALSE dalam bahasa pemrograman C nilainya sama dengan NOL  Sedangkan nilai TRUE yang diset oleh program C saat run time nilainya sama dengan 1.  Contoh: int x; x = (20 > 10); //nilai x sama dgn 1 x = (20 == 10); //nilai x sama dgn 0 25

26  Contoh : 26 #include int main() { int x=5,y=6; if ( x == y) printf("%d sama dengan %d\n",x,y); if ( x != y) printf("%d tidak sama dengan %d\n",x,y); if ( x < y) printf("%d lebih kecil daripada %d\n",x,y); if ( x > y) printf("%d lebih besar daripada %d\n",x,y); if ( x <= y) printf("%d lebih kecil atau sama dengan %d\n",x,y); if ( x >= y) printf("%d lebih besar atau sama dengan %d\n",x,y); return(0); }

27  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 sama artinya dgn statement diatas: z = (a > b) ? a : b; Jika (a>b) bernilai benar maka z=a. Sebaliknya jika (a>b) bernilai salah maka z=b. 27

28 28 #include 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); } Contoh:

29 29  Digunakan untuk melakukan operasi logika  Table Kebenaran operator logika: AB!AA && BA || B True FalseTrue False True FalseTrue FalseTrue False TrueFalse SimbolFungsi &&AND ||OR !NOT

30  Operand pada operator logika harus 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; int y=0, a, b; a = x && y; //error (hasil yg salah) b = (x > y) && (y>=0); //ok 30

31 31 SimbolFungsiContoh &ANDA & B |ORA | B; ^XORA ^ B; ~Complement 1~A; >>Shift RightA >> 3; <

32  Operasinya dilakukan bit per bit  Contoh: 32 a=24 Binernya: b=35 Binernya: (a&b) per bit hasilnya : desimalnya 0 (a | b) per bit hasilnya : desimalnya 59 int a=24; int b=35; int c; c = a & b; //nilai c = 0 c = a | b; //nilai c = 59

33  Dua buah bit di-XOR-kan akan menghasilkan 1 jika kedua bit tersebut berbeda, dan akan menghasilkan 0 jika kedua bit tersebut sama.  Contoh: 33 Desimal 45 binernya: Desimal 75 binernya: Kemudian bit per bit di XOR kan maka hasilnya: atau (102 desimal). int A,B=45; A=B^75; //Nilai A=102

34  Dengan menggunakan operator komplemen (~), maka setiap bit bernilai 0 akan dirubah menjadi 1 dan sebaliknya.  Contoh: int A, B=0xC3; A=~B; //nilai A=0x3C; 34 Catatan: Penulisan bilangan hexadesimal pada bhs pemrograman C menggunakan awalan 0x atau 0X (nol-X). 0xC3 binernya: Di-komplemenkan hasilnya: atau dlm notasi hexadecimal menjadi 3C

35  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= Catatan: 78 binernya: Geser kekanan 3 bit: = 9 Geser kekiri 2 bit : = 312

36  Pointer operator terdiri dari : & (address of) * (value of) 36 AKAN DIBAHAS PADA TOPIK POINTER

37  Jika semua variabel bertipe integer, maka tentukan nilai A sbb: B=23; C=12; D=32; E=0; 1. A = B && E; 2. A = B & C; 3. A = C || D; 4. A = B | D; 5. A = B > 2; 6. A = B >> 2; 7. A = C < 3; 8. A = C << 3; 9. A = B = C; 10. A = B == C; 37

38  Sebutkan contoh operator yang termasuk : 1.Unary Operator 2.Binary Operator 3.Ternary Operator  Sebutkan beberapa operator yang bisa berfungsi sebagai unary dan binary operator, dan berikan contohnya. 38

39 #include int main() { int x=10, y=6; x *= 5 + y; y += y &= x; printf(“x = %d\ny = %d",x,y); return(0); } Apakah keluaran yang akan ditampilkan di layar monitor bila program di atas berhasil dieksekusi ? 39

40 40 Bagaimanakah hasil keluaran yang ditampilkan di layar monitor dari program di atas?, Jelaskan? #include 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); }

42 42 #include 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 di layar monitor bila program di atas berhasil dieksekusi ?

43 z = (n > 0) ? f : b; Perhatikan conditional expression diatas, bolehkah sekiranya variabel f dan b memiliki tipe data yang berbeda? 43


Download ppt "1 Dasar Pemrograman Komputer [TKL-4002] 2010. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Memahami tentang proses sederhana (simple."

Presentasi serupa


Iklan oleh Google