Matakuliah Tahun Versi : T0616 / Algoritma dan Pemrograman : 2007 : 1/0 Pertemuan 09-10 Operasi Store - Compute 1 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Menggunakan sintaks untuk melakukan operasi store dan compute (C3) 2 Outline Materi Operasi Store dan Compute • Operator Penugasan • Operator Logika • Operator Aritmetika • Operator Relasional 3 Operator • Operator adalah simbol yang mengolah nilai pada operand dan menghasilkan satu nilai baru. • Contoh : A+B (“+” adalah operator penambahan, sedangkan “A” dan “B” adalah operand) • Operator dapat dibedakan menjadi dua berdasarkan jumlah operand-nya, yaitu : Unary operator dan Binary operator. Unary operator memerlukan satu operand, sedangkan binary operator memerlukan dua operand. 4 Operator • Berdasarkan jenis operasinya, operator dalam bahasa C dapat dikelompokkan : – Operator Penugasan – Operator Logika – Operator Aritmatika – Operator Relasional – Operator Bitwise * * Tidak dibahas pada materi ini 5 Operator Penugasan • Digunakan untuk memberikan nilai data kepada suatu variabel (Operator =). Variabel = nilai; • Operand di sebelah kiri harus berupa variabel, sedangkan operand kanan mungkin berbentuk suatu konstanta, variabel lain, ekspresi atau fungsi. 6 Operator Penugasan • Contoh x = 2; x = y; x = 2 * y; x = sin (y); // konstanta // variabel lain // ekspresi // fungsi • Tipe hasil operasi disesuaikan dengan tipe variabel sebelah kiri. int x = 7/2; /*3 bukan 3.5 */ 7 Operator Penugasan • Contoh : #include <stdio.h> void main() { int panjang, lebar, luas; panjang = 5; lebar = 4; luas = panjang * lebar; printf(\nLuas = %5d”, luas); } 8 Operator Logika • Digunakan untuk melakukan operasi logika Simbol Fungsi && AND || OR ! NOT • Hasil operasi bernilai true (1) atau false (0) dan ditentukan oleh Table Kebenaran berikut: 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 9 Operator Aritmetika • Digunakan untuk melakukan operasi matematis Simbol Fungsi Contoh + Penambahan x = y + 6; - Pengurangan y = x – 5; * Perkalian y = y * 3; / Pembagian z = x/y; % Modulo A = 10 % 3; ++ Increment x++; -- Decrement z--; () Priority x=(2+3)*5 10 Operator Aritmetika • Combined Operator • Setiap ekspesi yang berbentuk : <Variabel> = <Variabel> <Operator><Exp>; • dapat diganti dengan : <Variabel> <Operator> = <Exp>; Ekspresi Dapat 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; 11 Operator Aritmetika : Modulo • Untuk mencari sisa hasil bagi • N % 2, dapat digunakan untuk menguji apakah integer n genap atau ganjil • N % 2 = 0 n GENAP • N % 2 = 1 n GANJIL • Untuk integer positif n, n % 10 = menghilangkan digit terakhir dari n 12 Operator Aritmetika : Inc dan Dec • Menaikkan (++) dan menurunkan (--) nilai variabel dengan nilai 1 • Posisinya bisa didepan atau dibelakang variabel n = n + 1; n = n - 1; n++; ++n; n--; --n; post increment pre increment post decrement pre decrement 13 Operator Aritmetika : Inc dan Dec • Stand alone : Jika ++n dan n++ sebagai statement yang berdiri sendiri keduanya sama dengan n = n + 1 void main () { int x,y = 44; ++x; printf(”\nx = %d”, x); n++; printf(”\ny = %d”, y); } /* hasilnya 45 */ /* hasilnya 45 */ 14 Operator Aritmetika : Inc dan Dec • Sub Ekspresi : Jika ++n dan n++ sebagai statement yang terikat dalam ekspresi lainnya, 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 void main () { int x,y = 44; printf(”\nx = %d”, ++x); printf(”\ny = %d”, y++); printf(”\ny = %d”, y); } /* hasilnya 45 */ /* hasilnya 44 */ /* hasilnya 45 */ 15 Operator Relasional • Digunakan untuk membandingkan nilai, hasilnya true(1) atau false (0) Simbol Fungsi == Sama Dengan != Tidak Sama Dengan < Lebih Kecil Dari > Lebih Besar Dari <= Lebih Kecil atau Sama Dengan >= Lebih Besar atau Sama Dengan ?: Conditional assignment 16 Operator Relasional • Contoh : #include<stdio.h> void 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) } 17 Operator Relasional • Contoh : void main () { int kode, diskon=0; kode=1; diskon = (kode==1)? 30 : 10; printf(”Diskon item = %d \n”,diskon); } void main () { int bil, abs; bil = 50; abs = (bil1>0)? bil : - bil; printf(“%d \n”,bil); bil = - 50; abs = (bil1>0)? bil : - bil; printf(“%d \n”,bil); } 18 Latihan • Buatlah program untuk menerima input dari keyboard berupa tiga buah bilangan bulat. • Kemudian urutkan ketiga bilangan tersebut secara ascending (dari kecil ke besar) • Hasil programnya test dengan : 2,1,3 2,3,1 3,1,2 3,2,1 19 Latihan • Buatlah program untuk menerima input dari keyboard, berupa nilai : – Tugas Mandiri (NTM) – Nilai UTS (NUTS) – Nilai UAS (NUAS) • Hitung dan tampilkan nilai akhir dengan rumus : NA = 20 % * Nilai TM + 30 % Nilai UTS + 50 % Nilai UAS • (Asumsi bahwa nilai yang dinput adalah bilangan bulat) • Tampilkan status “Lulus” jika NA >=65, selain itu “Belum Lulus” • (Validasikan nilai yang diinput adalah nilai antara 0 sd 100) 20 Latihan • Berdasarkan soal sebelumnya : • Tentukan grade untuk nilai : ‘A’ : 85 -100 ‘B’ : 75 – 84 ‘C’ : 65 – 74 ‘D’ : 50 – 64 ‘E’ : 0 – 49 • Tampilkan grade untuk kombinasi nilai yang diinput. 21 Latihan • Buatlah program untuk menghitung dan mencetak laba pemilik sebuah perusahaan berdasarkan data harga jual dan harga pokok yang diinput, sesuai dengan rumus : Laba = Harga Jual - Harga Pokok • Berikan status “Untung” jika Laba > 0, status “Impas” jika Laba=0 dan status “Rugi” jika Laba <0. 22 Latihan • Suatu kali Anda membeli barang di toko. Jumlah barang yang Anda beli ada 3 item : – 1 sabun mandi seharga Rp. 5600,– 2 Sikat gigi seharga @ Rp. 1500,– 1 Snack kacang seharga Rp. 3400,- • Pajak pembelian yg dibebankan adalah 10 % • Setelah ditotal, Anda diminta membayar ke kasir sebesar Rp. 13500,• Buatlah program untuk menghitung selisih antara total harga barang yang Anda beli beserta pajak, dibandingkan dengan total harga di kasir. • Berikan status “Kemurahan” jika selisih >0, status “Kemahalan” jika selisih <0, dan “Tepat” jika selisih = 0. 23 Latihan • Buatlah program yang dapat menerima input dari user berupa harga barang dan kode barang. Program akan menghitung diskon yang didapat sesuai dengan kodenya. Kemudian tampilkan harga awal, besar diskon, dan harga yang harus dibayar. Adapun ketentuan adalah sbb: 24
© Copyright 2024 Paperzz