BAHASA PEMROGRAMAN C
-
Upload
gloria-mendoza -
Category
Documents
-
view
46 -
download
4
description
Transcript of BAHASA PEMROGRAMAN C
BAHASA PEMROGRAMAN
C
IRSAN JAELANI
OPERATOR
LATIHANAlgoritma KONVERSI_JAM_KE_DETIK{ Dibaca jam-menit-detik (hh:mm:ss). Nilai jam-menit-detik dikonversi ke dalam detik, lalu ditampilkan ke piranti keluaran }
DEKLARASI Type Jam : record <hh: integer {0..23}, {jam} mm: integer {0..59}, {menit} ss: integer {0..59} {detik} > J : Jam totaldetik : integer
DESKRIPSI read(J.hh, J.mm, J.ss)) totaldetik (J.hh*3600) + (J.mm*60) + J.ss write(totaldetik)
KODE PROGRAM/* PROGRAM KONVERSI JAM KE DETIK */
#include <stdio.h>
main() typedef struct { long int hh; long int mm; long int ss; } Jam;Jam J;long int totaldetik;
printf(“Jam: “); scanf(“%ld”, &J.hh);printf(“Menit: “); scanf(“%ld”, &J.mm);printf(“Detik: “); scanf(“%ld”, &J.ss);Totaldetik = (J.hh*3600) + (J.mm*60) + J.ss;Printf(“totaldetik = %ld”, total_detik);}
OPERATOR Operator adalah suatu tanda atau
simbol yang digunakan untuk suatu operasi tertentu. Bahasa C menyediakan Operator Aritmatika, Operator Pengerjaan, Operator Hubungan/Perbandingan, Operator Logika,
OPERATOR ARITMATIKAOperator Fungsi
* Perkalian
/ Pembagian
% Pembagian Modulo (Sisa Pembagian)
+ Penjumlahan
- Pengurangan
OPERATOR PENAIKAN DAN PENURUNAN
Operator Fungsi
++ Penaikan
-- Penurunan
• Operator Penaikan digunakan untuk menaikkan nilai variabel sebesar satu• Operator Penurunan digunakan untuk menurunkan nilai variabel satu.
PENULISAN x = x + 1; y = y + 1;
Ditulis menjadi
++x; Atau x++;++y; y++;
CONTOH PROGRAM/* Contoh 1 program pemakaian operator++ */include <stdio.h>main(){
int r = 10;int s ;
s = 10 + r++;printf(“s = %d, r = %d\n”, s, r);
}
/* Contoh 2 program pemakaian operator++ */include <stdio.h>main(){
int r = 10;int s ;
s = 10 + ++r;printf(“s = %d, r = %d\n”, s, r);
}
PRIORITAS OPERATOR ARITMATIKATertinggi ++ --
- (unary minus)* / %
Terendah + -
Contoh:
(1) X = 2 + 3 * 2;
(2) X = 2 * 3 % 2;
OPERATOR MANIPULASI BITOperator Operasi
<< Geser bit ke kiri
>> Geser bit ke kanan
& Dan (AND)
| Atau (OR)
^ XOR
~ NOT (Komplemen)
• Seluruh operator bit hanya bisa dikenakan pada sebuah operand bertipe integer atau karakter
PRIORITAS OPERATOR MANIPULASI BIT
Tertinggi ~>> <<&^
Terendah |
1 0 0 1 1 1 1 0
7 6 5 4 3 2 1 0 Posisi bit
CONTOH PROGRAM
/* Contoh program melihat pengaruh operator << */
#include <stdio.h>Main()
{unsigned x = 93;printf(“Nilai x semula = %d \n”, x);
x = x << 1; /*geser kiri 1 bit*/printf(“Nilai x kini = %d \n”, x);
}
0000000001011101 = 930000000010111010 = 186
OPERATOR ATAU (|), XOR (^), DAN (&)Bit operand 1
Bit operand 2
Hasil
| & ^
0 0 0 0 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 0
CONTOH PROGRAM/* Contoh program penggunaan operator */
#include <stdio.h>Main(){ unsigned nilai = 81; unsigned cadar = 99; unsigned a, b, c;
a = nilai | cadar; /* operasi atau */ b = nilai & cadar; /* operasi dan */ c = nilai ^ cadar; /* operasi XOR */ printf(“a = %u, b = %u, c = %u\n”, a, b, c);}
PENJELASAN(1) 0000 0000 0101 0001 81
0000 0000 0110 0011 99
| (atau)
0000 0000 0111 0011 115
(2) 0000 0000 0101 0001 81
0000 0000 0110 0011 99
& (dan)
0000 0000 0100 0001 65
(3) 0000 0000 0101 0001 81
0000 0000 0110 0011 99
^ (XOR)
0000 0000 0011 0010 50
OPERATUR PENUGASAN
Disimbolkan dengan “ = “
X = 2 + 3
Berarti memberikan penjumlahan 2 dengan 3 ke variabel X
x = a = b = c;
Penugasan seperti ini identik dengan tiga pernyataan sebagai berikut
b = c;
a = b;
x = a;
Dengan demikian baik variabel x,a,b akan bernilai sama dengan c
a = (b = 1) + 2 berapa nilai a dan b?
a = b = 1 + 2 ? Berapa nilai a dan b?
OPERATOR KOMBINASI ( PEMENDEKAN ) x = x + 2;
y = y * 4;Menjadi
x += 2;y *=4;
OPERATOR KOMBINASIx += 2; Kependekan dari x = x + 2;
x -= 2; Kependekan dari x = x – 2;
x *= 2; Kependekan dari x = x * 2;
x /= 2; Kependekan dari x = x / 2;
x %= 2; Kependekan dari x = x / 2;
x << 2; Kependekan dari x = x / 2;
x >> 2; Kependekan dari x = x / 2;
x &= 2; Kependekan dari x = x / 2;
x |=2; Kependekan dari x = x / 2;
x ^=2; Kependekan dari x = x / 2;
OPERATOR DALAM BAHASA C DAN PRIORITASNYA
Operator Prioritas Urutan Pengerjaan
( ) [ ] ->! ~ ++ -- -* / %+ -<< >>< <= > >=== !=&^|&&||?:= += -= *= dsb,
Tertinggi Dari kiri ke kananDari kanan ke kiriDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kiri ke kananDari kanan ke kiriDari kanan ke kiriDari kanan ke kiri
MAKSUD DARI PENGERJAAN DARI KIRI KE KANAN ATAUDARI KANAN KE KIRI
a = b = c;pada pernyataan di atas, operator yang dilibatkan ( = ) mempunyai sifat pengerjaan dimulai dari kanan, berartib = c akan dikerjakan terlebih dahulu baru mengerjakan a = b
x = 2 * 3 * 4;pada pernyataan di atas, 2 * 3 akan dikerjakan terlebih dahulu, barulah kemudian mengerjakan perkalian hasil dengan 4. Adapun karena prioritas = lebih rendah dari *, hasilnya baru diberikan ke x