ALGORITMA & DASAR PEMROGRAMAN OPERATOR DAN UNGKAPAN ALGORITMA & DASAR PEMROGRAMAN
Bagian ini mempelajari Operator dan Ungkapan (ekspresi) yang biasa digunakan di dalam pemrograman berkaitan dengan operasi terhadap variabel.
EKSPRESI Ekspresi adalah sesuatu yang dapat menghasilkan nilai Ekspresi terdiri dari Operand dan Operator Operand dapat berupa Pengenal (Identifier) dan konstanta atau kombinasi dari keduanya. Pengenal (identifier) adalah suatu nama yang biasa dipakai dalam pemrograman untuk menyatakan: - Variabel - Konstanta Bernama
EKSPRESI Operator dibagi 2 berdasarkan operand yaitu – Unary : satu operand – Binary : dua operand – Ternary : tiga operand Contoh Ekpresi : 6 + 3 Angka 6 dan angka 3 adalah Operand sedangkan Simbol tambah adalah operator Contoh Unary : - 4 Simbol minus adalah Operator dan Angka 4 adalah Operand Contoh Binary : 7 * 2 Angka 7 dan 2 adalah Operand dan Simbol asteris adalah operator Contoh Ternary : (a>b)?a:b
OPERATOR Operasi apa saja yang dapat dikenakan pada tipe data, variabel dan konstanta tidak lepas dari operator. Operator merupakan simbol atau kata yang dapat digunakan dalam program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai ke suatu variabel, membandingkan dua buah nilai dan lain-lain. Sebagian operator C++ tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap dua buah nilai (operand).
OPERATOR Operator Pengerjaan (assignment operator) Operator Aritmatika Operator Peningkatan dan Penurunan Operator Manipulasi Bit (Bitwise) Operator Hubungan Operator Logika Operator Alamat Operator Koma
OPERATOR PENGERJAAN Menggunakan tanda sama dengan (=). Tanda sama dengan menunjukkan pemberian atau penugasan nilai di kanan operator kepada variabel di kiri operator tersebut. Contoh: n = 10, artinya nilai 10 diberikan kepada variabel n. c = b = a (hasilnya b dan c akan bernilai a) a = b = c (hasilnya a dan b akan bernilai c)
/* ---------------------------- Nama Program: ADP_Soal13.cpp Contoh Penggunaan Operator Pngerjaan ---------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int a,b,c; a=10; c=b=a; printf("Contoh Program Penggunaan Operator Pengerjaan\n"); printf("_____________________________________________\n"); printf("\n"); printf("a=%d\n",a); printf("b=%d\n",b); printf("c=%d\n",c); system("pause"); }
OPERATOR ARITMATIKA Operator aritmatika hanya dapat dikenakan pada operand bertipe bilangan, yaitu bilangan bulat atau bilangan pecahan (real).
OPERATOR ARITMATIKA Operator Keterangan Contoh * Perkalian 2 * 3 / Pembagian 2 / 3 % Modulus atau sisa pembagian 3 % 2 + Penjumlahan 2 + 3 - Pengurangan 2 - 3 Operator Binary Operator Keterangan Contoh + Tanda plus +4 - Tanda minus -5 ++ Prefix: preincrement; Postfix: postincrement ++n, n++ -- Prefix: predecrement; postfix: postdecrement --n, n-- Operator Unary
/* ---------------------------- Nama Program: ADP_Soal14.cpp Contoh Penggunaan Operator Aritmatika ---------------------------- */ #include <stdio.h> #include <stdlib.h> main() { float luas, pi, jari; pi = 3.141593; jari = 12.0; luas = pi*jari*jari; printf("Contoh Program Penggunaan Operator Arimatika\n"); printf("_____________________________________________\n"); printf("\n"); printf("Jari-jari = %f\n",jari); printf("luas = %f\n",luas); system("pause"); }
/* ----------------------------------------- Nama Program: ADP_Soal14a.cpp Contoh Penggunaan Operator Aritmatika Hasil Bagi ------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { int a, b, c; printf("Contoh Program Penggunaan Operator Arimatika"); printf(" Hasil Bagi (Modulus)\n"); printf("_____________________________________________"); printf("____________________"); printf("\n"); a = 4 % 2; b = 7 % 2; c = 8 % 3; printf("Jika 4 modulus 2 hasil baginya = %d\n", a); printf("Jika 7 modulus 2 hasil baginya = %d\n", b); printf("Jika 8 modulus 3 hasil baginya = %d\n", c); system("pause"); }
OPERATOR ARITMATIKA Tertinggi ++ -- (unary minus) * / % Terendah + - Hirarki pada operator aritmatika
/* ----------------------------------------- Nama Program: ADP_Soal14b.cpp Prioritas Operator Aritmatika ------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int a; printf("Contoh Program Merubah Prioritas Operator Aritmatika"); printf(“ dengan menggunakan tanda kurung\n”); printf("________________________________________________"); printf("_______________________________"); printf("\n"); printf("\n"); a = 2 + 3 * 2; printf("a = 2 + 3 x 2 hasilnya adalah : \n"); printf("a = %d\n",a); printf("\n"); a = (2 + 3) * 2; printf("a = (2 + 3) x 2 hasilnya adalah : \n"); system("pause"); }
OPERATOR PENINGKATAN DAN PENURUNAN C++ mempunyai operator terkenal yaitu operator peningkatan (increment operator) yang menggunakan tanda ++ dan operator penurunan (decrement operator) yang menggunakan tanda --. Operator peningkatan digunakan untuk menambahkan nilai 1 pada nilai sebelumnya dan operator penurunan digunakan untuk mengurangi nilai 1 pada nilai sebelumnya.
/* ----------------------------------------- Nama Program: ADP_Soal15.cpp Contoh Penggunaan Operator Peningkatan di belakang variabel ----------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int a = 10, b; printf("Contoh Program Penggunaan Operator Peningkatan"); printf(" di belakang variabel\n"); printf("_____________________________________________"); printf("____________________"); printf("\n"); b = 10 + a++; printf(“b = 10 + a++ hasilnya adalah : \n"); printf("a = %d\n",a); printf("b = %d\n",b); system("pause"); }
/* ----------------------------------------- Nama Program: ADP_Soal15b.cpp Contoh Penggunaan Operator Peningkatan di depan variabel ----------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int a = 10, b; printf("Contoh Program Penggunaan Operator Peningkatan"); printf(" di depan variabel\n"); printf("_____________________________________________"); printf("__________________"); printf("\n"); b = 10 + ++a; printf("b = 10 + a++ hasilnya adalah : \n"); printf("a = %d\n",a); printf("b = %d\n",b); system("pause"); }
OPERATOR BITWISE (MANIPULASI BIT) Keterangan << Shift left (pergeseran ke kiri) >> Shift right (pergeseran ke kanan) & Operasi bit AND | Operasi bit OR ^ Operasi bit XOR ~ Operasi bit NOT Operator Bitwise Tertinggi ~ >> << & ^ Terendah |
/* ---------------------------------- Nama Program: ADP_Soal_bitwise.cpp Contoh Penggunaan Operator Bitwise ---------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int x = 93; printf("Contoh Program Penggunaan Operator Bitwise"); printf(" geser kiri 1 bit\n"); printf("_____________________________________________"); printf("__________________"); printf("\n"); printf("Nilai x semula adalah : %d\n",x); x = x << 1; // penggeseran ke kiri 1 bit printf("Nilai x setelah digeser 1 bit ke kiri adalah : %d\n",x); system("pause"); }
Bit Operand 1 Bit Operand 2 Hasil 1 Operasi dengan Operator Bitwise “atau/OR” Operand 1 | operand 2
Bit Operand 1 Bit Operand 2 Hasil 1 Operasi dengan Operator Bitwise “dan/AND” Operand 1 & operand 2
Bit Operand 1 Bit Operand 2 Hasil 1 Operasi dengan Operator Bitwise “eXclusive OR” Operand 1 ^ operand 2
/* ------------------------------------------------------------- Nama Program: ADP_Soal_bitwise2.cpp Contoh Penggunaan Operator Bitwise "atau/OR", "dan/AND" serta "eXclusive OR/XOR" ------------------------------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int nilai = 81, hasil = 99, a, b, c; printf("Contoh Program Penggunaan Operator Bitwise"); printf(" \"atau/OR\", \"dan/AND\"\n"); printf("serta \"eXclusive OR\""); printf("\n"); a = nilai | hasil; //operasi atau b = nilai & hasil; //operasi dan c = nilai ^ hasil; //operasi XOR printf("Hasilnya adalah :\n"); printf("a = %d\n", a); printf("b = %d\n", b); printf("c = %d\n", c); system("pause"); }
Bit Hasil 1 Operasi dengan Operator Bitwise komplemen/NOT ~ operand
/* ------------------------------------------------ Nama Program: ADP_Soal_bitwise3.cpp Contoh Penggunaan Operator Bitwise komplemen/Not ------------------------------------------------ */ #include <stdio.h> #include <stdlib.h> main() { unsigned char nilai = 81; printf("Contoh Program Penggunaan Operator Bitwise komplemen/NOT"); printf("\n"); nilai = ~ nilai; //komplemen dari nilai printf("Komplemen dari nilai adalah : %d\n",nilai); system("pause"); }
OPERATOR HUBUNGAN Digunakan untuk membandingkan dua buah nilai dan akan dihasilkan perbandingannya, yaitu betul (bernilai 1) atau salah (bernilai 0) Operator ini banyak digunakan pada penyeleksian suatu kondisi di statemen IF
OPERATOR HUBUNGAN Operator Keterangan > Lebih besar >= Lebih besar sama dengan < Lebih kecil <= Lebih kecil sama dengan == Sama dengan != Tidak sama dengan
OPERATOR LOGIKA Disamping operator hubungan, C++ juga menyediakan tiga buah operator logika yang biasanya berpasangan dengan operator hubungan Operator Keterangan && Operator Logika AND || Operator Logika OR ! Operator Logika NOT
A B A && B A || B 1
/* ------------------------------------- Nama Program: ADP_Soal16.cpp Contoh Penggunaan Operator Logika AND ------------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int nilai, tugas; printf("Contoh Program Penggunaan Operator Logika AND\n"); printf("_____________________________________________\n"); printf("\n"); printf("Masukkan Nilai: ");scanf("%d",&nilai); printf("Masukkan Nilai Tugas: ");scanf("%d",&tugas); if(nilai>70 && tugas>=75) printf("Lulus\n"); else printf("Tidak Lulus\n"); printf("_______________________________________________"); system("pause"); }
OPERATOR ALAMAT Operator Keterangan & Address of operator * Indirection operator
OPERATOR KOMA /* ------------------------------- Nama Program: ADP_Soal17.cpp Contoh Penggunaan Operator Koma ------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { char kar1, kar2; (kar1='A', kar2='B'); printf("Contoh Program Penggunaan Operator Koma\n"); printf("_______________________________________\n"); printf("\n"); printf("%c\n",kar1); printf("%c\n",kar2); system("pause"); }
OPERATOR GABUNGAN Operator Contoh Keterangan += a += b Kependekan dari a = a+b -= a -= b Kependekan dari a = a-b *= a *= b Kependekan dari a = a * b /= Kependekan dari a = a / b %= Kependekan dari a = a % b <<= Kependekan dari a = a << b >>= Kependekan dari a = a >> b &= Kependekan dari a = a &b |= Kependekan dari a = a | b ^= Kependekan dari a = a ^ b
/* ----------------------------------- Nama Program: ADP_Soal_gabungan.cpp Contoh Penggunaan Operator Gabungan ----------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int x = 2; printf("Contoh Program Penggunaan Operator Gabungan"); printf("\n"); printf("x = : %d\n",x); x += 3; printf("Setelah x = x + 3, x = : %d\n",x); x *= 2; printf("Setelah x = x * 2, x = : %d\n",x); system("pause"); }
/* ----------------------------------- Nama Program: ADP_Soal_gabungan.cpp Contoh Penggunaan Operator Gabungan ----------------------------------- */ #include <stdio.h> #include <stdlib.h> main() { int x = 2; x += 3; x *= 2; printf("Contoh Program Penggunaan Operator Bitwise komplemen/NOT"); printf("\n"); printf("x = : %d\n",x); printf("Setelah x = x + 3, x = : %d\n",x); printf("Setelah x = x * 2, x = : %d\n",x); system("pause"); }