SlideShare a Scribd company logo
1 of 40
Kuliah 2022/2023
MENHYA SNAE, M.KOM.|DOSEN
ALGORITMA & PEMROGAMAN
Operator Logika, Relasional & Oprator Bitwise
CENDANA25.BLOGSPOT.COM
Materi Tujuan
Pengertian Operator Logika , Relasional
Kasus pengambilan keputusan dengan menggunakan IF
maupun switch. Berbagai kondisi yang digunakan untuk
pengambilan keputusan sederhana maupun yang kompleks
(melibatkan “dan” (&&) dengan “atau” (||).
Operator Logika
Operator logika digunakan untuk membandingkan logika hasil dari operator-
operator relasi atau digunakan untuk mengoperasikan operand (konstanta,
variabel, atau suatu ekspresi) secara logis. Operator logika ada tiga macam
yaitu operator AND, OR dan operator NOT. Untuk lebih jelasnya perhatikan
dalam tabel berikut:
Tabel Operator Logika
Operator Relasional
Operator relasi digunakan untuk membandingkan hubungan
antara dua buah operand (sebuah nilai atau variable) atau
digunakan untuk mewakili sebuah nilai logika (nilai boolean),
dari suatu persamaan atau nilai. Jenis-jenis operator relasi,
seperti terlihat pada tabel dibawah ini:
Tabel Operator relasional
Operator Logika AND (&&)
Operator logika AND digunakan untuk mengevaluasi dua ekspresi relasi sebagai operand
untuk mendapatkan rasional tunggal. Operasi akan menghasilkan nilai 1 (true) jika kedua
operand bernilai 1 (true) tapi jika salah satu atau keduanya bernilai (false) maka akan
menghasilkan nilai (false).
int main ()
{
bool a = 1, b = 0;
cout<< (a && b) <<endl;
return 0;
}
Ekspresi Relasi 1 : 4 < 10
Ekspresi Relasi 2 : 7 == 6
Ekspresi Relasi 3 : 9 >= 4
Penggabungan ketiga ekspresi relasi diatas menjadi :
4 < 10 && 7==6 && 9 >= 4
Maka ketiga ekspresi tersebut mempunyai nilai :
Ekspresi Relasi-1 : 4 < 10 (BENAR/1)
Ekspresi Relasi-2 : 7 == 6 (SALAH/0)
Ekspresi Relasi-3 : 9 >= 4 (BENAR/1)
Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan
menghasilkan:
4 < 10 && 7==6 && 9 >= 4 //(SALAH = 0)
Contoh:
Buatlah
Program dari
Ekspresi ini.....
int main( ){
int a, b, c, hasil1, hasil2, hasil3, hasilAkhir;
cout<<"Masukan Nilai A = ";cin>>a;
cout<<"Masukan Nilai B = ";cin>>b;
cout<<"Masukan Nilai C = ";cin>>c;
hasil1 = a + 4 < 10;
hasil2 = b > a + 5;
hasil3 = c - 3 >= 4;
hasilAkhir = hasil1 && hasil2 && hasil3;
cout<<"= Program Ekspresi AND ="<<endl;
cout<<"=========================="<<endl;
cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl;
cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl;
cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl;
cout<<"Hasil dari Hasil Akhir = d && e && f adalah "<<hasilAkhir<<endl;
return 0;
}
Program AND
Operator logika OR ||
Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi untuk
mendapatkan hasil rasional tunggal, Operator || dibaca sebagai OR, akan dianggap 1
(true), bila salah satu ekspresi relasi yang dibandingkan bernilai 1 (true) dan bila semua
ekspresi relasi yang dibandingkan bernilai 0 (false), maka akan bernilai 0 (false).
#include <iostream>
using namespace std;
int main ()
{
bool a = 1, b = 0;
cout<< (a || b) <<endl;
return 0;
}
Ekspresi Relasi 1 : 4 < 10
Ekspresi Relasi 2 : 7 == 6
Ekspresi Relasi 3 : 9 >= 4
Penggabungan ketiga ekspresi relasi diatas menjadi :
4 < 10 && 7==6 && 9 >= 4
Maka ketiga ekspresi tersebut mempunyai nilai :
Ekspresi Relasi-1 : 4 < 10 (BENAR/1)
Ekspresi Relasi-2 : 7 == 6 (SALAH/0)
Ekspresi Relasi-3 : 9 >= 4 (BENAR/1)
Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan
menghasilkan:
4 < 10 && 7==6 && 9 >= 4 //(BENAR= 1)
Contoh:
Buatlah
Program dari
Ekspresi ini.....
int main( ){
int a, b, c, hasil1, hasil2, hasil3, hasilAkhir;
cout<<"Masukan Nilai A = ";cin>>a;
cout<<"Masukan Nilai B = ";cin>>b;
cout<<"Masukan Nilai C = ";cin>>c;
hasil1 = a + 4 < 10;
hasil2 = b > a + 5;
hasil3 = c - 3 >= 4;
hasilAkhir = hasil1 && hasil2 && hasil3;
cout<<"= Program Ekspresi AND ="<<endl;
cout<<"=========================="<<endl;
cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl;
cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl;
cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl;
cout<<"Hasil dari Hasil Akhir = d && e && f adalah "<<hasilAkhir<<endl;
return 0;
}
Program OR
Cara Kerja operator AND dan OR pada Compiler :
Berdasarkan pernyataan-pernyataan di atas, C++ dalam mengevaluasi hal ini akan
menggunakan cara Arus pendek (Short-circuit) yang berarti hanya akan mengevaluasi apa
yang diperlukan dari kiri ke kanan. Mendapatkan tujuanya dan mengabaikan sisanya.
Contoh (5==6 && 4>3). C++ akan memproses dan mengevaluasi dari kiri ke kanan apakah
5==6 adalah 0 (false) atau 1 (true) dan jika mempunyai nilai 1 (true) maka akan melanjutkan
pemeriksaan ke ekspresi selanjutnya.
Tapi kenyataanya adalah 0 (false) maka pemeriksaan akan berhenti di situ dan mengabaikan
sisanya. karena sifat operator AND && yaitu, untuk mendapatkan nilai 1 (true) dibutuhkan
semua operand bernilai 1 (true). Sifat tersebut juga akan berlaku ke semua operator logika.
&& : Jika mendapatkan nilai 0 (false) maka langsung menghasikan nilai 0 (False).
|| : Jika mendapatkan nilai 1 (true) maka langsung menghasikan nilai 1 (True).
Operator Logika NOT
Operator logika NOT berfungsi membalikan nilai sebenarnya. Jika nilai yang
disebutkan bernilai 1 (true) maka akan menghasilkan nilai 0 (false), begitu pula
sebaliknya.
!true // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false)
!false // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true)
!(7==7) // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false)
!(9<=2) // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true)
Ekspresi Relasi : 4 < 10
Penggunaan umum Operator Logika NOT diatas menjadi;
!( 4 < 10) = 0 //(false)
Contoh Program Logika NOT
int main(){
int A, hasilSebenarnya, hasilNOT;
cout<<"Masukan Nilai A = "; cin>>a;
hasilSebenarnya = (a + 5 < 15);
hasilNOT = !(a + 5 < 15);
cout<<"= Program Ekspresi NOT ="<<endl;
cout<<"========================"<<endl;
cout<<"Nilai A = "<<a<<endl
cout<<"Nilai hasilSebenarnya = (a + 4 < 10) = "<<hasilSebenarnya<<endl;
cout<<"Nilai hasilNOT = !(hasilSebenarnya) atau !(a + 5 < 15) = "<<hasilNOT;
return 0;
}
Latihan
Input:
A,B
C=A and B
D=A or B
E= not A
Start
Output:
A,B,C,D,E
END
Contoh
int x, x1, x2, y, y1, y2, z, z1, z2, a, b, c;
a = 125;
b = 100;
c = 25;
x1 = a < b;
x2 = a > b;
y1 = c <= b;
y2 = c >= b;
z1 = a == c;
z2 = a != c;
x = x1 && x2;
y = y1 || y2;
z = !z1;
cout <<"nA = "<< a<< b<< c ;
cout <<"nX1 = " ;
cout <<"n = "<< a<< b ;
cout <<"n = "<< x1 ;
cout <<"nX2 = " ;
cout <<"n = "<< a<< b ;
cout <<"n = "<< x2 ;
cout <<"nY1 = " ;
cout <<"n = "<< c<< b ;
cout <<"n = "<< y1 ;
cout <<"nY2 = " ;
cout <<"n = "<< c<< b ;
cout <<"n = "<< y2 ;
cout <<"nZ1 = " ;
cout <<"n = "<< a<< c ;
cout <<"n = "<< z1 ;
cout <<"nZ2 = " ;
cout <<"n = "<< a<< b ;
cout <<"n = "<< z2 ;
cout <<"nX = " ;
cout <<" n = "<< x1<< x2 ;
cout <<" n = "<< x ;
cout <<"Yn = " ;
cout <<"n = "<< y1<< y2 ;
cout <<"n = "<< y ;
cout <<"Zn = " ;
cout <<"n = "<< z1 ;
cout <<"n = "<< z ;
Operator bitwise
Operator bitwise adalah operasi matematika yang mengoprasikan suatu
nilai dalam bilangan biner. Operator bitwise akan bekerja dengan
mengubah bilangan desimal menjadi bilangan biner, setelah itu akan
melakukan operasi berdasarkan operator bitwise yang digunakan dan pada
akhirnya nilai tersebut akan diubah menjadi bilangan desimal kembali.
Tabel Operator bitwise
Macam-macam Operator BitwiseShift Left ( << )
Operator Bitwise Shift Left (<<) adalah operator yang akan menggeser nilai dalam
bentuk bilangan biner ke kiri. Operator ini akan mengubah bilangan desimal menjadi bilangan
biner lalu menggeser angka dari bilangan biner tersebut ke kiri dan setelah itu akan
mengubahnya kembali ke bilangan desimal.
0000 0000 1100 1001 = 201
//menggeser 1 bit ke kiri, Dibagian kanan disisipkan 0, sebanyak bit yang digeser
0000 0001 1001 0010 = 402
Contoh program BitwiseShift Left ( << )
#include <iostream>
using namespace std;
int main(){
int x;
cout<<"Masukan Nilai X = "; cin>>x;
cout<<"Nilai Awal : "<<x<<endl;
x = x << 1;
cout<<"Hasil dari Geser 1 Bit Ke Kiri = "<<x<<endl;
return 0;
}
Operator Bitwise Shift Right ( >> )
Operator Bitwise Shift Right (>>) adalah operator yang akan mengeser
nilai dalam bentuk bilangan biner ke kanan. Operator ini akan mengubah
bilangan desimal menjadi bilangan biner setelah itu menggeser angka dari
bilangan biner tersebut ke kanan dan pada akhirnya akan mengubahnya
kembali ke bilangan desimal.
0000 0000 1100 1001 = 201
//digeser 1 bit ke kanan, Dibagian kanan disisipkan 0, sebanyak bit
yang digeser dan pada bagian paling kiri akan hilang
0000 0000 0110 0100 = 100
Contoh Program Bitwise Shift Right ( >> )
int main(){
int x;
cout<<"Masukan Nilai X = "; cin>>x;
cout<<"Nilai Awal : "<<x<<endl;
x = x >> 1;
cout<<"Hasil dari Geser 1 Bit Ke Kanan = "<<x<<endl;
return 0;
}
Operator Bitwise AND ( & )
Operator Bitwise AND ( & ) adalah operator yang akan membandingkan dua operand
dalam bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi
bilangan biner lalu membandingkanya dengan operand dari sisi lain, Perbandingan akan
berlangsung dari bit ke bit (angka ke angka), membandingkan berdasarkan sifat dari AND
yaitu untuk menghasilkan nilai 1 (true) kedua operand harus bernilai 1(true) jika tidak akan
menghasilkan nilai 0 (false). Dan setelah perbandingan selesai dilakukan, hasil dari
perbandingan akan diubah ke bentuk bilangan desimal.
1100 1001 = 201
0110 0100 = 100
-------------------------- AND
0100 0000 = 64
Operator Bitwise AND ( & )
Contoh Program Bitwise AND ( & )
int main(){
int hasil, x, y;
cout<<"Masukan Nilai X = "; cin>>x;
cout<<"Masukan Nilai Y = "; cin>>y;
hasil = x & y;
cout<<"Hasil dari "<<x<<" & "<<y<<" = "<<hasil<<endl;
return 0;
}
Operator Bitwise OR (|)
Operator Bitwise OR (|) adalah operator yang akan membandingkan dua operand dalam
bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi bilangan
biner lalu membandingkanya dengan operand dari sisi lain.
Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan
berdasarkan sifat dari OR yaitu untuk mendapatkan nilai 1 (true) maka salah satu atau
semua operand harus bernilai 1 (true), jika semua operand bernilai 0 (false) maka akan
mendapatkan nilai 0 (false).
Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke
bentuk bilangan desimal.
1100 1001 = 201
0110 0100 = 100
------------------------OR
11101101 = 237
Tabel Operator Bitiwise OR
Contoh Program Bitiwise OR
int main(){
int hasil, x, y;
cout<<"Masukan Nilai X = "; cin>>x;
cout<<"Masukan Nilai Y = "; cin>>y;
hasil = x | y;
cout<<"Hasil dari "<<x<<" | "<<y<<" = "<<hasil<<endl;
return 0;
}
Operator Bitwise XOR ( ^ )
Operator Bitwise XOR ( ^ ) merupakan singkatan dari eXclusive OR adalah operator
yang akan membandingkan dua operand dalam bentuk bilangan biner. Operator ini akan
mengubah bilangan desimal menjadi bilangan biner lalu membandingkanya dengan
operand dari sisi lain,
Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan
berdasarkan sifat dari XOR yaitu untuk mendapatkan nilai 1 (true) maka kedua operand
harus memiliki nilai yang berbeda, jika kedua operand memiliki nilai yang sama maka
akan mendapatkan nilai 0 ( false ).
Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke
bentuk bilangan desimal.
1100 1001 = 201
0110 0100 = 100
-----------------------XOR
1010 1101 = 137
Tabel Operator Bitwise XOR ( ^ )
Contoh Program Bitwise XOR ( ^ )
int main( )
{
int a, b, x, y;
cout<<"Masukan Nilai X = "; cin>>x;
cout<<"Masukan Nilai Y = "; cin>>y;
a = x ^ y;
b = x ^ y ^ x;
cout<<"Hasil dari "<<x<<" ^ "<<y<<" = "<<a<<endl;
cout<<"Hasil dari "<<x<<" ^ "<<y<<" ^ "<<x<<" = "<<b<<endl;
return 0;
}
Operator Bitwise NOT ( ~ )
Operator Bitwise NOT ( ~ ) adalah operator bersifat unary yang akan
membalikan nilai di dalam bentuk bilangan biner. Operator ini akan
mengubah bilangan desimal menjadi bilangan biner lalu membalikan nilai
dari bit ke bit (angka ke angka), jika bit tersebut memiliki nilai 1 ( true) maka
akan dibalik menjadi 0 (false) begitu pula sebaliknya. setelah operasi
selesai maka hasil akhir akan di kembalikan ke bentuk bilangan decimal.
0000 1000 = 8
//menjadi
1111 0111 = 247
Tabel Bitwise NOT ( ~ )
int main(){
int a, x;
cout<<"Masukan Nilai X = "; cin>>x;
a = ~x;
cout<<"Hasil dari ~ "<<x<<" = "<<a<<endl;
return 0;
}
Contoh
//Variabel
int a=10, b=12;
int hasilAND, hasilOR, hasilXOR, hasilNOT, hasilSHL, hasilSHR;
//Operasi Bitwise
hasilAND=a&b;
hasilOR=a|b;
hasilXOR=a^b;
hasilNOT=~a;
hasilSHL=a<<1;
hasilSHR=a>>1;
//Output
cout<<hasilAND<<endl;
cout<<hasilOR<<endl;
cout<<hasilXOR<<endl;
cout<<hasilNOT<<endl;
cout<<hasilSHL<<endl;
cout<<hasilSHR<<endl;
return 0;
}
Tugas Mandiri
j = m >> 2;
j = K + = m;
j = --m + K+ +;
j = m = = K;
j = K > m - = 5;
j = K ! = 21;
j = -m * 5;
j = m | K;
j = ~ m | K;
Buatlah algoritma dan program
dari soal no 1 diatas
LATIHAN MANDIRI
Carilah nilai J terangkan bagaimana nilai
J ini diperoleh dalam C + + berikut, jika
diketahui
int m = 24, k = 21;
j = m > K;
j = m % K;
j = m && K;
j = m & K;
j = m + + + K;
j = m ---K;
Tugas Kelompok
Buatlah algoritma dan program untuk menghitung volume dan luas permukaan
bola apabila masukkannya barupa jari-jari. Jari-jari yang dimasukkan bertipe
float dan output atau keluaran yang dihasilkan adalah luas dan volume
permukaan bola dengan tipenya adalah float.
PETUNJUK:
V = 4/3*pi*r*r*r
L = 4*pi*r*r
Dengan:
V = volume bola
L = luas permukaan bola
R = jari-jari bola
Pi = 3.14
1 Buat Algoritma
dan flowchart
Tugas Kelompok
Tuliskan program untuk menampilkan jumlah hari, jam, menit dan detik,
dengan masukkannya adalah detik. Sebagai contoh masukkan adalah
10000 detik. Keluaran yang nantinya akan dihasilkan adalah detik, jam,
menit, hari.
PETUNJUK:
1 hari = 24 jam
1 hari = 60 menit
1 hari = 60 detik
2
Buat Algoritma
dan flowchart
Sekian…… Terima kasih
Questions?

More Related Content

Similar to Pertemuan 5a.pptx

Similar to Pertemuan 5a.pptx (20)

Materi operator java
Materi operator javaMateri operator java
Materi operator java
 
tugas presentasi materi operator pada java
tugas presentasi materi operator pada javatugas presentasi materi operator pada java
tugas presentasi materi operator pada java
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 
Presentation1
Presentation1Presentation1
Presentation1
 
Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Operator
OperatorOperator
Operator
 
Bab ii
Bab iiBab ii
Bab ii
 
Cc++
Cc++Cc++
Cc++
 
Operator python
Operator pythonOperator python
Operator python
 
Pertemuan 6B.pptx
Pertemuan 6B.pptxPertemuan 6B.pptx
Pertemuan 6B.pptx
 
Pengenalan konsep pemrograman c++
Pengenalan konsep pemrograman c++ Pengenalan konsep pemrograman c++
Pengenalan konsep pemrograman c++
 
Simple-Process_Java.pptx
Simple-Process_Java.pptxSimple-Process_Java.pptx
Simple-Process_Java.pptx
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
 
3 pemrograman matlab
3 pemrograman matlab3 pemrograman matlab
3 pemrograman matlab
 
Penjelasan Program
Penjelasan ProgramPenjelasan Program
Penjelasan Program
 
E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3E1 e117049 nurfadhila fahmi_tugas3
E1 e117049 nurfadhila fahmi_tugas3
 
WEB II PHP 03
WEB II PHP 03WEB II PHP 03
WEB II PHP 03
 
Risk Analysis and Project Evaluation/abshor.marantika/Rifky Yudha Mahendra/3-03
Risk Analysis and Project Evaluation/abshor.marantika/Rifky Yudha Mahendra/3-03Risk Analysis and Project Evaluation/abshor.marantika/Rifky Yudha Mahendra/3-03
Risk Analysis and Project Evaluation/abshor.marantika/Rifky Yudha Mahendra/3-03
 

More from Menny SN

Pertemuan 6 D.pptx
Pertemuan 6 D.pptxPertemuan 6 D.pptx
Pertemuan 6 D.pptxMenny SN
 
Pertemuan FIle.pptx
Pertemuan FIle.pptxPertemuan FIle.pptx
Pertemuan FIle.pptxMenny SN
 
Pertemuan 5b.pptx
Pertemuan 5b.pptxPertemuan 5b.pptx
Pertemuan 5b.pptxMenny SN
 
Pertemuan 6A.pptx
Pertemuan 6A.pptxPertemuan 6A.pptx
Pertemuan 6A.pptxMenny SN
 
Pertemuan 5C.pptx
Pertemuan 5C.pptxPertemuan 5C.pptx
Pertemuan 5C.pptxMenny SN
 
Pertemuan ARRAY.pptx
Pertemuan ARRAY.pptxPertemuan ARRAY.pptx
Pertemuan ARRAY.pptxMenny SN
 
RPS Algoritma dan Struktur Data SIS1 - Revisi.doc
RPS Algoritma dan Struktur Data SIS1 - Revisi.docRPS Algoritma dan Struktur Data SIS1 - Revisi.doc
RPS Algoritma dan Struktur Data SIS1 - Revisi.docMenny SN
 

More from Menny SN (7)

Pertemuan 6 D.pptx
Pertemuan 6 D.pptxPertemuan 6 D.pptx
Pertemuan 6 D.pptx
 
Pertemuan FIle.pptx
Pertemuan FIle.pptxPertemuan FIle.pptx
Pertemuan FIle.pptx
 
Pertemuan 5b.pptx
Pertemuan 5b.pptxPertemuan 5b.pptx
Pertemuan 5b.pptx
 
Pertemuan 6A.pptx
Pertemuan 6A.pptxPertemuan 6A.pptx
Pertemuan 6A.pptx
 
Pertemuan 5C.pptx
Pertemuan 5C.pptxPertemuan 5C.pptx
Pertemuan 5C.pptx
 
Pertemuan ARRAY.pptx
Pertemuan ARRAY.pptxPertemuan ARRAY.pptx
Pertemuan ARRAY.pptx
 
RPS Algoritma dan Struktur Data SIS1 - Revisi.doc
RPS Algoritma dan Struktur Data SIS1 - Revisi.docRPS Algoritma dan Struktur Data SIS1 - Revisi.doc
RPS Algoritma dan Struktur Data SIS1 - Revisi.doc
 

Recently uploaded

Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptxGiftaJewela
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASKurniawan Dirham
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5KIKI TRISNA MUKTI
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Abdiera
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptxHendryJulistiyanto
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 

Recently uploaded (20)

Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx421783639-ppt-overdosis-dan-keracunan-pptx.pptx
421783639-ppt-overdosis-dan-keracunan-pptx.pptx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATASMATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
MATERI EKOSISTEM UNTUK SEKOLAH MENENGAH ATAS
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5Materi Strategi Perubahan dibuat oleh kelompok 5
Materi Strategi Perubahan dibuat oleh kelompok 5
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
Modul Ajar Biologi Kelas 11 Fase F Kurikulum Merdeka [abdiera.com]
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx442539315-ppt-modul-6-pend-seni-pptx.pptx
442539315-ppt-modul-6-pend-seni-pptx.pptx
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 

Pertemuan 5a.pptx

  • 1. Kuliah 2022/2023 MENHYA SNAE, M.KOM.|DOSEN ALGORITMA & PEMROGAMAN Operator Logika, Relasional & Oprator Bitwise CENDANA25.BLOGSPOT.COM
  • 2. Materi Tujuan Pengertian Operator Logika , Relasional Kasus pengambilan keputusan dengan menggunakan IF maupun switch. Berbagai kondisi yang digunakan untuk pengambilan keputusan sederhana maupun yang kompleks (melibatkan “dan” (&&) dengan “atau” (||).
  • 3. Operator Logika Operator logika digunakan untuk membandingkan logika hasil dari operator- operator relasi atau digunakan untuk mengoperasikan operand (konstanta, variabel, atau suatu ekspresi) secara logis. Operator logika ada tiga macam yaitu operator AND, OR dan operator NOT. Untuk lebih jelasnya perhatikan dalam tabel berikut:
  • 5. Operator Relasional Operator relasi digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variable) atau digunakan untuk mewakili sebuah nilai logika (nilai boolean), dari suatu persamaan atau nilai. Jenis-jenis operator relasi, seperti terlihat pada tabel dibawah ini:
  • 7. Operator Logika AND (&&) Operator logika AND digunakan untuk mengevaluasi dua ekspresi relasi sebagai operand untuk mendapatkan rasional tunggal. Operasi akan menghasilkan nilai 1 (true) jika kedua operand bernilai 1 (true) tapi jika salah satu atau keduanya bernilai (false) maka akan menghasilkan nilai (false). int main () { bool a = 1, b = 0; cout<< (a && b) <<endl; return 0; }
  • 8. Ekspresi Relasi 1 : 4 < 10 Ekspresi Relasi 2 : 7 == 6 Ekspresi Relasi 3 : 9 >= 4 Penggabungan ketiga ekspresi relasi diatas menjadi : 4 < 10 && 7==6 && 9 >= 4 Maka ketiga ekspresi tersebut mempunyai nilai : Ekspresi Relasi-1 : 4 < 10 (BENAR/1) Ekspresi Relasi-2 : 7 == 6 (SALAH/0) Ekspresi Relasi-3 : 9 >= 4 (BENAR/1) Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan menghasilkan: 4 < 10 && 7==6 && 9 >= 4 //(SALAH = 0) Contoh: Buatlah Program dari Ekspresi ini.....
  • 9. int main( ){ int a, b, c, hasil1, hasil2, hasil3, hasilAkhir; cout<<"Masukan Nilai A = ";cin>>a; cout<<"Masukan Nilai B = ";cin>>b; cout<<"Masukan Nilai C = ";cin>>c; hasil1 = a + 4 < 10; hasil2 = b > a + 5; hasil3 = c - 3 >= 4; hasilAkhir = hasil1 && hasil2 && hasil3; cout<<"= Program Ekspresi AND ="<<endl; cout<<"=========================="<<endl; cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl; cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl; cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl; cout<<"Hasil dari Hasil Akhir = d && e && f adalah "<<hasilAkhir<<endl; return 0; } Program AND
  • 10. Operator logika OR || Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi untuk mendapatkan hasil rasional tunggal, Operator || dibaca sebagai OR, akan dianggap 1 (true), bila salah satu ekspresi relasi yang dibandingkan bernilai 1 (true) dan bila semua ekspresi relasi yang dibandingkan bernilai 0 (false), maka akan bernilai 0 (false). #include <iostream> using namespace std; int main () { bool a = 1, b = 0; cout<< (a || b) <<endl; return 0; }
  • 11. Ekspresi Relasi 1 : 4 < 10 Ekspresi Relasi 2 : 7 == 6 Ekspresi Relasi 3 : 9 >= 4 Penggabungan ketiga ekspresi relasi diatas menjadi : 4 < 10 && 7==6 && 9 >= 4 Maka ketiga ekspresi tersebut mempunyai nilai : Ekspresi Relasi-1 : 4 < 10 (BENAR/1) Ekspresi Relasi-2 : 7 == 6 (SALAH/0) Ekspresi Relasi-3 : 9 >= 4 (BENAR/1) Dari ekspresi relasi tersebut mempunyai 2 nilai BENAR dan 1 nilai SALAH, maka akan menghasilkan: 4 < 10 && 7==6 && 9 >= 4 //(BENAR= 1) Contoh: Buatlah Program dari Ekspresi ini.....
  • 12. int main( ){ int a, b, c, hasil1, hasil2, hasil3, hasilAkhir; cout<<"Masukan Nilai A = ";cin>>a; cout<<"Masukan Nilai B = ";cin>>b; cout<<"Masukan Nilai C = ";cin>>c; hasil1 = a + 4 < 10; hasil2 = b > a + 5; hasil3 = c - 3 >= 4; hasilAkhir = hasil1 && hasil2 && hasil3; cout<<"= Program Ekspresi AND ="<<endl; cout<<"=========================="<<endl; cout<<"Hasil dari Hasil1 = a + 4 < 10 adalah "<<hasil1<<endl; cout<<"Hasil dari Hasil2 = b > a + 5 adalah "<<hasil2<<endl; cout<<"Hasil dari Hasil3 = c - 3 >= 4 adalah "<<hasil3<<endl; cout<<"Hasil dari Hasil Akhir = d && e && f adalah "<<hasilAkhir<<endl; return 0; } Program OR
  • 13. Cara Kerja operator AND dan OR pada Compiler : Berdasarkan pernyataan-pernyataan di atas, C++ dalam mengevaluasi hal ini akan menggunakan cara Arus pendek (Short-circuit) yang berarti hanya akan mengevaluasi apa yang diperlukan dari kiri ke kanan. Mendapatkan tujuanya dan mengabaikan sisanya. Contoh (5==6 && 4>3). C++ akan memproses dan mengevaluasi dari kiri ke kanan apakah 5==6 adalah 0 (false) atau 1 (true) dan jika mempunyai nilai 1 (true) maka akan melanjutkan pemeriksaan ke ekspresi selanjutnya. Tapi kenyataanya adalah 0 (false) maka pemeriksaan akan berhenti di situ dan mengabaikan sisanya. karena sifat operator AND && yaitu, untuk mendapatkan nilai 1 (true) dibutuhkan semua operand bernilai 1 (true). Sifat tersebut juga akan berlaku ke semua operator logika. && : Jika mendapatkan nilai 0 (false) maka langsung menghasikan nilai 0 (False). || : Jika mendapatkan nilai 1 (true) maka langsung menghasikan nilai 1 (True).
  • 14. Operator Logika NOT Operator logika NOT berfungsi membalikan nilai sebenarnya. Jika nilai yang disebutkan bernilai 1 (true) maka akan menghasilkan nilai 0 (false), begitu pula sebaliknya. !true // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false) !false // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true) !(7==7) // Pernyataan bernilai 1 (true) dibalikan dengan operator NOT ‘!’ dan menjadi 0 (false) !(9<=2) // Pernyataan bernilai 0 (false) dibalikan dengan operator NOT ‘!’ dan menjadi 1 (true) Ekspresi Relasi : 4 < 10 Penggunaan umum Operator Logika NOT diatas menjadi; !( 4 < 10) = 0 //(false)
  • 15. Contoh Program Logika NOT int main(){ int A, hasilSebenarnya, hasilNOT; cout<<"Masukan Nilai A = "; cin>>a; hasilSebenarnya = (a + 5 < 15); hasilNOT = !(a + 5 < 15); cout<<"= Program Ekspresi NOT ="<<endl; cout<<"========================"<<endl; cout<<"Nilai A = "<<a<<endl cout<<"Nilai hasilSebenarnya = (a + 4 < 10) = "<<hasilSebenarnya<<endl; cout<<"Nilai hasilNOT = !(hasilSebenarnya) atau !(a + 5 < 15) = "<<hasilNOT; return 0; }
  • 16. Latihan Input: A,B C=A and B D=A or B E= not A Start Output: A,B,C,D,E END
  • 17. Contoh int x, x1, x2, y, y1, y2, z, z1, z2, a, b, c; a = 125; b = 100; c = 25; x1 = a < b; x2 = a > b; y1 = c <= b; y2 = c >= b; z1 = a == c; z2 = a != c; x = x1 && x2; y = y1 || y2; z = !z1; cout <<"nA = "<< a<< b<< c ; cout <<"nX1 = " ; cout <<"n = "<< a<< b ; cout <<"n = "<< x1 ; cout <<"nX2 = " ; cout <<"n = "<< a<< b ; cout <<"n = "<< x2 ; cout <<"nY1 = " ; cout <<"n = "<< c<< b ; cout <<"n = "<< y1 ; cout <<"nY2 = " ; cout <<"n = "<< c<< b ; cout <<"n = "<< y2 ; cout <<"nZ1 = " ; cout <<"n = "<< a<< c ; cout <<"n = "<< z1 ; cout <<"nZ2 = " ; cout <<"n = "<< a<< b ; cout <<"n = "<< z2 ; cout <<"nX = " ; cout <<" n = "<< x1<< x2 ; cout <<" n = "<< x ; cout <<"Yn = " ; cout <<"n = "<< y1<< y2 ; cout <<"n = "<< y ; cout <<"Zn = " ; cout <<"n = "<< z1 ; cout <<"n = "<< z ;
  • 18. Operator bitwise Operator bitwise adalah operasi matematika yang mengoprasikan suatu nilai dalam bilangan biner. Operator bitwise akan bekerja dengan mengubah bilangan desimal menjadi bilangan biner, setelah itu akan melakukan operasi berdasarkan operator bitwise yang digunakan dan pada akhirnya nilai tersebut akan diubah menjadi bilangan desimal kembali.
  • 20. Macam-macam Operator BitwiseShift Left ( << ) Operator Bitwise Shift Left (<<) adalah operator yang akan menggeser nilai dalam bentuk bilangan biner ke kiri. Operator ini akan mengubah bilangan desimal menjadi bilangan biner lalu menggeser angka dari bilangan biner tersebut ke kiri dan setelah itu akan mengubahnya kembali ke bilangan desimal. 0000 0000 1100 1001 = 201 //menggeser 1 bit ke kiri, Dibagian kanan disisipkan 0, sebanyak bit yang digeser 0000 0001 1001 0010 = 402
  • 21. Contoh program BitwiseShift Left ( << ) #include <iostream> using namespace std; int main(){ int x; cout<<"Masukan Nilai X = "; cin>>x; cout<<"Nilai Awal : "<<x<<endl; x = x << 1; cout<<"Hasil dari Geser 1 Bit Ke Kiri = "<<x<<endl; return 0; }
  • 22. Operator Bitwise Shift Right ( >> ) Operator Bitwise Shift Right (>>) adalah operator yang akan mengeser nilai dalam bentuk bilangan biner ke kanan. Operator ini akan mengubah bilangan desimal menjadi bilangan biner setelah itu menggeser angka dari bilangan biner tersebut ke kanan dan pada akhirnya akan mengubahnya kembali ke bilangan desimal. 0000 0000 1100 1001 = 201 //digeser 1 bit ke kanan, Dibagian kanan disisipkan 0, sebanyak bit yang digeser dan pada bagian paling kiri akan hilang 0000 0000 0110 0100 = 100
  • 23. Contoh Program Bitwise Shift Right ( >> ) int main(){ int x; cout<<"Masukan Nilai X = "; cin>>x; cout<<"Nilai Awal : "<<x<<endl; x = x >> 1; cout<<"Hasil dari Geser 1 Bit Ke Kanan = "<<x<<endl; return 0; }
  • 24. Operator Bitwise AND ( & ) Operator Bitwise AND ( & ) adalah operator yang akan membandingkan dua operand dalam bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi bilangan biner lalu membandingkanya dengan operand dari sisi lain, Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan berdasarkan sifat dari AND yaitu untuk menghasilkan nilai 1 (true) kedua operand harus bernilai 1(true) jika tidak akan menghasilkan nilai 0 (false). Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke bentuk bilangan desimal. 1100 1001 = 201 0110 0100 = 100 -------------------------- AND 0100 0000 = 64
  • 26. Contoh Program Bitwise AND ( & ) int main(){ int hasil, x, y; cout<<"Masukan Nilai X = "; cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; hasil = x & y; cout<<"Hasil dari "<<x<<" & "<<y<<" = "<<hasil<<endl; return 0; }
  • 27. Operator Bitwise OR (|) Operator Bitwise OR (|) adalah operator yang akan membandingkan dua operand dalam bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi bilangan biner lalu membandingkanya dengan operand dari sisi lain. Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan berdasarkan sifat dari OR yaitu untuk mendapatkan nilai 1 (true) maka salah satu atau semua operand harus bernilai 1 (true), jika semua operand bernilai 0 (false) maka akan mendapatkan nilai 0 (false). Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke bentuk bilangan desimal. 1100 1001 = 201 0110 0100 = 100 ------------------------OR 11101101 = 237
  • 29. Contoh Program Bitiwise OR int main(){ int hasil, x, y; cout<<"Masukan Nilai X = "; cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; hasil = x | y; cout<<"Hasil dari "<<x<<" | "<<y<<" = "<<hasil<<endl; return 0; }
  • 30. Operator Bitwise XOR ( ^ ) Operator Bitwise XOR ( ^ ) merupakan singkatan dari eXclusive OR adalah operator yang akan membandingkan dua operand dalam bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi bilangan biner lalu membandingkanya dengan operand dari sisi lain, Perbandingan akan berlangsung dari bit ke bit (angka ke angka), membandingkan berdasarkan sifat dari XOR yaitu untuk mendapatkan nilai 1 (true) maka kedua operand harus memiliki nilai yang berbeda, jika kedua operand memiliki nilai yang sama maka akan mendapatkan nilai 0 ( false ). Dan setelah perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke bentuk bilangan desimal. 1100 1001 = 201 0110 0100 = 100 -----------------------XOR 1010 1101 = 137
  • 32. Contoh Program Bitwise XOR ( ^ ) int main( ) { int a, b, x, y; cout<<"Masukan Nilai X = "; cin>>x; cout<<"Masukan Nilai Y = "; cin>>y; a = x ^ y; b = x ^ y ^ x; cout<<"Hasil dari "<<x<<" ^ "<<y<<" = "<<a<<endl; cout<<"Hasil dari "<<x<<" ^ "<<y<<" ^ "<<x<<" = "<<b<<endl; return 0; }
  • 33. Operator Bitwise NOT ( ~ ) Operator Bitwise NOT ( ~ ) adalah operator bersifat unary yang akan membalikan nilai di dalam bentuk bilangan biner. Operator ini akan mengubah bilangan desimal menjadi bilangan biner lalu membalikan nilai dari bit ke bit (angka ke angka), jika bit tersebut memiliki nilai 1 ( true) maka akan dibalik menjadi 0 (false) begitu pula sebaliknya. setelah operasi selesai maka hasil akhir akan di kembalikan ke bentuk bilangan decimal. 0000 1000 = 8 //menjadi 1111 0111 = 247
  • 34. Tabel Bitwise NOT ( ~ ) int main(){ int a, x; cout<<"Masukan Nilai X = "; cin>>x; a = ~x; cout<<"Hasil dari ~ "<<x<<" = "<<a<<endl; return 0; }
  • 35. Contoh //Variabel int a=10, b=12; int hasilAND, hasilOR, hasilXOR, hasilNOT, hasilSHL, hasilSHR; //Operasi Bitwise hasilAND=a&b; hasilOR=a|b; hasilXOR=a^b; hasilNOT=~a; hasilSHL=a<<1; hasilSHR=a>>1; //Output cout<<hasilAND<<endl; cout<<hasilOR<<endl; cout<<hasilXOR<<endl; cout<<hasilNOT<<endl; cout<<hasilSHL<<endl; cout<<hasilSHR<<endl; return 0; }
  • 36. Tugas Mandiri j = m >> 2; j = K + = m; j = --m + K+ +; j = m = = K; j = K > m - = 5; j = K ! = 21; j = -m * 5; j = m | K; j = ~ m | K; Buatlah algoritma dan program dari soal no 1 diatas LATIHAN MANDIRI Carilah nilai J terangkan bagaimana nilai J ini diperoleh dalam C + + berikut, jika diketahui int m = 24, k = 21; j = m > K; j = m % K; j = m && K; j = m & K; j = m + + + K; j = m ---K;
  • 37. Tugas Kelompok Buatlah algoritma dan program untuk menghitung volume dan luas permukaan bola apabila masukkannya barupa jari-jari. Jari-jari yang dimasukkan bertipe float dan output atau keluaran yang dihasilkan adalah luas dan volume permukaan bola dengan tipenya adalah float. PETUNJUK: V = 4/3*pi*r*r*r L = 4*pi*r*r Dengan: V = volume bola L = luas permukaan bola R = jari-jari bola Pi = 3.14 1 Buat Algoritma dan flowchart
  • 38. Tugas Kelompok Tuliskan program untuk menampilkan jumlah hari, jam, menit dan detik, dengan masukkannya adalah detik. Sebagai contoh masukkan adalah 10000 detik. Keluaran yang nantinya akan dihasilkan adalah detik, jam, menit, hari. PETUNJUK: 1 hari = 24 jam 1 hari = 60 menit 1 hari = 60 detik 2 Buat Algoritma dan flowchart