Operator logika (Logical Operators)
Operator Logika digunakan untuk membandingkan dua Operand atau dua nilai yang bertipe Boolean. Operator ini sangat berkaitan erat dengan operator perbandingan dan kedua-duanya juga mengembalikan nilai dengan tipe data yang sama boolean yaitu TRUE atau FALSE. Berikut beberapa jenis operatornya:
No |
Operator |
Simbol |
Keterangan |
1 |
Logika and |
and |
Menghasilkan nilai True jika kedua statement benar |
2 |
Logika or |
or |
Menghasilkan nilai True jika salah satu statement benar |
3 |
Logika negasi atau kebalikan |
not |
Membalikan hasil, misalny True menjadi False dan sebaliknya |
Untuk lebih jelasnya kita coba pada contoh berikut,
#Contoh penggunaan operator komparasi / perbandingan
a = True
b = False
print("a = ", a)
print("b = ", b)
# Logika and
c = a and b
print(a, 'and', b, '=', c)
# Logika or
c = a or b
print(a, 'or', b, '=', c)
# Logika not
c = not a
print('not true =', c)
ketika dijalankan programnya, hasilnya seperti berikut
Operator bitwise (Bitwise Operators)
Operator bitwise sama seperti Operator Logika, akan tetapi operator ini melakukan operasi berdasarkan bilangan bit/biner. Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri dari dua jenis angka, yakni 0 dan 1 dan pada dasarnya hanya ini lah angka yang dipahami oleh mesin. Jika nilai asal yang dipakai bukan bilangan biner, akan dikonversi secara otomatis oleh Python menjadi bilangan biner, misalnya angka 2 dalam bilangan biner ditulis 10.
Untuk mengetahui nilai biner dari suatu angka desimal dapat dilakukan dengan menggunakan perintah format() dan parameter kedua berupa string '08b'.
No |
Operator |
Simbol |
Keterangan |
1 |
AND |
& |
Mengembalikan nilai bit 1 jika dua bit bernilai 1 |
2 |
OR |
| |
Mengembalikan nilai bit 1 jika salah satu bit bernilai salah |
3 |
XOR |
^ |
Mengembalikan nilai bit 1 jika hanya satu bit saja yang bernilai 1 |
4 |
NOT |
~ |
Mengembalikan semua nilai bit |
5 |
Left Shift |
<< |
Menggeser bit ke kiri dengan mendorong digit 0 dan membiarkan bit paling kiri terlepas |
6 |
Right Shift |
>> |
Menggeser bit ke kanan dengan mendorong salinan digit sebelah kiri dan membiarkan digit sebelah kanan terlepas. |
Untuk lebih jelasnya kita coba dalam perogram berikut,
x = 32
y = 64
print('x =', x, '=', format(x, '08b'))
print('y =', y, '=', format(y, '08b'), '\n')
print('logika and')
print('x & y =', x & y)
print(format(x, '08b'), '&', format(y, '08b'), '=', format(x & y, '08b'), '\n')
print('logika or ')
print('x | y =', x | y)
print(format(x, '08b'), '|', format(y, '08b'), '=', format(x | y, '08b'), '\n')
print('logika xor')
print('x ^ y =', x ^ y)
print(format(x, '08b'), '^', format(y, '08b'), '=', format(x ^ y, '08b'), '\n')
print('logika not')
print('~x ~y =', ~x, ~y)
print('~' + format(x, '08b'), '~' + format(y, '08b'), '=', format(~x, '08b'), format(~y, '08b'), '\n')
print('logika shift right')
print('x >> y =', x >> y)
print(format(x, '08b'), '>>', format(y, '08b'), '=', format(x >> y, '08b'), '\n')
print('logika shift left')
print('y << x =', y << x)
print(format(y, '08b'), '<<', format(x, '08b'), '=', format(y << x, '08b'), '\n')
Ketika dijalankan hasilnya seperti berikut,
Operator keanggotaan (Membership Operators)
Operator keanggotaan adalah operator yang spesial karena hanya ada pada pemrograman python. Operator Keanggotaan hanya bisa digunakan pada variable jenis sequence (data yang berurut) yang dapat menampung banyak nilai yaitu tipe data tuple, list dan dictionary. Fungsi dari operator ini adalah untuk memeriksa apakah suatu nilai merupakan salah satu anggota dari variabel berjenis sequence atau tidak. Kemudian akan menghasilkan nilai TRUE atau FALSE. Operator keanggotaan dalam python hanya memiliki dua varian, yaitu in dan not in.
No |
Operator |
Keterangan |
1 |
in |
Bernilai true jika suatu nilai ada di dalam sequence data (object) |
2 |
not in |
Bernilai false jika suatu nilai tidak ada di dalam sequence data (object) |
Berikut contoh untuk penggunaan logika tersebut
a = 1 list_a = [1, 2, 3] print ('a: ', a) print ('list_a: ', list_a) #operator True c = a in list_a print ('a in list_a: ', c) #operator False c = a not in list_a print ('a not in list_a: ', c)
Hasilnya,
Operator identitas (Identity Operators)
Operator identitas memiliki fungsi mengetahui apakah dua buah variabel memiliki nilai yang sama atau objek yang sama atau tidak. Jika sama akan menghasilkan nilai TRUE dan sebaliknya, jika salah akan menghasilkan nilai FALSE. Operator identitas dalam python hanya memiliki dua varian, yaitu is dan is not.
No |
Operator |
Keterangan |
1 |
is |
Bernilai |
2 |
is not |
Bernilai false jika dua variable memiliki nilai atau identitas sama. |
Berikut contoh penggunaan operator identitas,
a = 1
b = 2
list_a = [1, 2, 3]
list_b = [1, 2, 3]
print ('a:', a)
print ('b:', b)
print ('list_a', list_a)
print ('list_b', list_b)
# output False
c = a is b
print('a is b:', c)
# output True
c = a is not b
print('a is not b:', c)
# output False
c = list_a is list_b
print('list_a is list_b:', c)
# output True
c = list_a is not list_b
print('list_a is not list_b:', c)
Jika di jalankan hasilnya seperti berikut,
0 Komentar