Operator
Operator
A. OPERATOR
Operator digunakan untuk melakukan operasi pada variabel dan nilai. Pada
Contoh 1, dapat menggunakan operator + untuk menjumlahkan dua nilai:
Contoh1:
print(10 + 5)
Hasil:
15
1. Operator Aritmatika
2. Operator Penugasan
3. Operator Perbandingan
4. Operator Logika
5. Operator Identitas
6. Operator Keanggotaan
7. Operator Bitwise.
x + y
x – y
Pengurangan, mengurangka operan a, b = 10, 8
- Pengurangan disebelah kiri operator dengan operan hasil = a – b
di sebelah kanan operator print(hasil)
#hasil akan 2
1
LECTURE NOTES DASAR PEMROGRAMAN
print(hasil)
#hasil akan 15
x / y
x % y
Modulus, mendapatkan sisa
pembagian dari operan di sebelah kiri a, b = 11, 2
% Modulus hasil = a % b
operator ketika dibagi oleh operan di
sebelah kanan print(hasil)
#hasil akan 1
x ** y
Pemangkatan, memangkatkan operan a, b = 11, 2
** Eksponen disebelah kiri operator dengan operan hasil = a ** b
di sebelah kanan operator print(hasil)
#hasil akan 121
x // y
Pembagian bulat, prosesnya sama
Floor a, b = 11, 2
// seperti pembagian. Hanya saja angka hasil = a // b
Division
dibelakang koma dihilangkan print(hasil)
#hasil akan 5
Sama
Operator Nama Penjelasan Contoh
Seperti
a = 10
print(a)
Mengisikan nilai di
#hasil akan 10
sebelah kanan operator
= x=5 x=5
ke nilai di sebelah kiri b = 15
operator print(b)
#hasil akan 15
a,b = 10,8
Menambahkan operan
a += b
sebelah kiri operator print(a)
+= x += 3 x=x+3
dengan operan sebelah #hasil akan 18 sama
kanan operator dengan a = a + b
kemudian hasilnya
2
LECTURE NOTES DASAR PEMROGRAMAN
diisikan ke operan
sebelah kiri
Mengurangi operan
sebelah kiri operator a, b = 10, 8
dengan operan sebelah a -= b
-= x -= 3 x=x-3 kanan operator print(a)
kemudian hasilnya
diisikan ke operan #hasil akan 2 sama
sebelah kiri dengan a = a – b
Mengalikan operan
sebelah kiri operator a, b = 10, 8
dengan operan sebelah a *= b
*= x *= 3 x=x*3 kanan operator print(a)
kemudian hasilnya #hasil akan 80 sama
diisikan ke operan dengan a = a * b
sebelah kiri
Membagi operan
sebelah kiri operator a, b = 10, 5
dengan operan sebelah a /= b
/= x /= 3 x=x/3 kanan operator print(a)
kemudian hasilnya #hasil akan 2 sama
diisikan ke operan dengan a = a / b
sebelah kiri
Memangkatkan operan
sebelah kiri operator a, b = 10, 2
dengan operan sebelah a **= b
**= x **= 3 x = x ** 3 kanan operator print(a)
kemudian hasilnya #hasil akan 100 sama
diisikan ke operan dengan a = a ** b
sebelah kiri
3
LECTURE NOTES DASAR PEMROGRAMAN
x != y
x > y
Memeriksa apakah nilai di sebelah
Greater a, b = 4, 2
> kiri operator lebih besar dari nilai di
than print(a > b)
sebelah kanan operator
#hasil akan True
x < y
Memeriksa apakah nilai di sebelah
< Less than kiri operator lebih kecil dari nilai di a, b = 2, 4
sebelah kanan operator print(a < b)
#hasil akan True
x >= y
a, b = 4, 2
c = 4
Memeriksa apakah nilai di sebelah print(a >= b)
Greater
kiri operator lebih besar dari nilai di #hasil akan True
>= than or
sebelah kanan operator atau memiliki
equal to print(a >=c)
nilai yang sama
#hasil akan True
print(b >= a)
#hasil akan False
x <= y
4
LECTURE NOTES DASAR PEMROGRAMAN
print(a <= c)
#hasil akan True
print(b <= a)
#hasil akan True
Terdapat beberapa jenis logic gate yang umum digunakan. Berikut adalah jenis-
jenis gerbang logika dan tabel kebenarannya.
1. Gerbang AND
Jenis pertama adalah gerbang AND. Gerbang AND ini memerlukan dua atau
lebih input untuk menghasilkan satu output. Jika semua atau salah satu
inputnya merupakan bilangan biner 0, maka outputnya akan menjadi 0.
Sedangkan jika semua input adalah bilangan biner 1, maka outputnya akan
menjadi 1.
2. Gerbang OR
Jenis kedua adalah gerbang OR. Sama seperti gerbang sebelumnya, gerbang
ini juga memerlukan dua input untuk menghasilkan satu output. Gerbang OR
ini akan menghasilkan output 1 jika semua atau salah satu input merupakan
bilangan biner 1. Sedangkan output akan menghasilkan 0 jika semua
inputnya adalah bilangan biner 0.
3. Gerbang NOT
Jenis berikutnya adalah gerbang NOT. Gerbang NOT ini berfungsi sebagai
pembalik keadaan. Jika input bernilai 1 maka outputnya akan bernilai 0 dan
begitu juga sebaliknya.
5
LECTURE NOTES DASAR PEMROGRAMAN
4. Gerbang NOR
Berikutnya adalah gerbang NOR. Gerbang NOR ini adalah gabungan dari
gerbang OR dan gerbang NOT. Sehingga output yang dihasilkan dari gerbang
NOR ini adalah kebalikan dari gerbang OR.
5. Gerbang XOR
Jenis berikutnya adalah gerbang XOR. Gerbang XOR ini memerlukan dua
input untuk menghasilkan satu output. Jika input berbeda (misalkan: input
A=1, input B=0) maka output yang dihasilkan adalah bilangan biner 1.
Sedangkan jika input adalah sama maka akan menghasilkan output dengan
bilangan biner 0.
6. Gerbang XNOR
Jenis yang terakhir adalah gerbang XNOR. Gerbang XNOR ini memerlukan
dua input untuk menghasilkan satu output. Jika input berbeda (misalkan:
input A=1, input B=0) maka output yang dihasilkan adalah bilangan biner 0.
Sedangkan jika input adalah sama maka akan menghasilkan output dengan
bilangan biner 1.
6
LECTURE NOTES DASAR PEMROGRAMAN
Operator logika adalah operator yang digunakan untuk operasi logika. Bentuk
operator logika berupa kata hubung. Ada 3 kata hubung yang digunakan di
operator logika yaitu and, or dan not
nilai_1 = True
nilai_2 = False
Mengembalikan nilai_3 = True
True jika kedua
and print("nilai_1 and nilai_2= " + str(nilai_1 and
pernyataan
benar nilai_2))
#hasil nilai_1 and nilai_2 = False
x < 5 or x < 4
nilai_1 = True
nilai_2 = False
Mengembalikan nilai_3 = True
True jika salah
or satu print("nilai_1 or nilai_2 = " +str(nilai_1 or
pernyataan nilai_2))
benar #hasil nilai_1 or nilai_2 = True
nilai_1 = True
Membalikkan nilai_2 = False
hasilnya, nilai_3 = True
not mengembalikan
False jika print("not nilai_1 = " + str(not nilai_1))
hasilnya benar #hasil not nilai_1 = False
7
LECTURE NOTES DASAR PEMROGRAMAN
x is y
Mengembalikan True jika kedua variabel a, b = 10, 10
is
adalah objek yang sama print(a is b)
#hasil akan True
x is not y
Mengembalikan True jika kedua variabel a, b = 10, 5
is not
bukan objek yang sama print(a is not b)
#hasil akan True
x in y
nama = "faqih"
Mengembalikan hoby = ["bermain", "ngoding", "jalan-jalan"]
True jika
urutan dengan #cari huruf 'h' di variabel nama
in print('h' in nama)
nilai yang
ditentukan ada #hasil True
di objek
#cari string 'bola' di list hoby
print("bola" in hoby)
#hasil False
x not in y
nama = "Andi"
Mengembalikan
BahasaPemrograman = ["C++", "Python", "Java"]
True jika
urutan dengan #cari huruf 'z' di variabel nama
not in nilai yang print('z' not in nama)
ditentukan #hasil True
tidak ada
dalam objek #cari string 'Python' di list Bahasa Pemrograman
print("Python" not in BahasaPemrograman)
#hasil False
Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner
dalam bentuk bit. Bilangan biner sendiri merupakan jenis bilangan yang hanya
8
LECTURE NOTES DASAR PEMROGRAMAN
terdiri dari 2 jenis angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan
bilangan biner, akan dikonversi secara otomatis menjadi bilangan biner. Misalnya
7 desimal = 0111 dalam bilangan biner. Pada penerapannya, operator bitwise
tidak terlalu sering dipakai, kecuali anda sedang membuat program yang harus
memproses bit-bit komputer. Selain itu operator ini cukup rumit dan harus
memiliki pemahaman tentang sistem bilangan biner. Dalam bahasan kali ini saya
menganggap anda sudah paham beda antara bilangan biner (basis 2) dan
bilangan desimal (basis 10). Bahasa Python mendukung 6 jenis operator bitwise:
Hasil Hasil
Simbol Operator Deskripsi Contoh Biner
(biner) (decimal)
Set setiap bit ke 1 jika kedua
& And 10 & 12 1010 & 1100 1000 8
bit adalah 1
Set setiap bit ke 1 jika salah
| Or 10 | 12 1010 | 1100 1110 14
satu dari dua bit adalah 1
Setel setiap bit menjadi 1 jika
^ Xor hanya satu dari dua bit yang 10 ^ 12 1010 ^ 1100 110 6
bernilai 1
~ Not Membalikkan semua bit ~ 10 ~1010 101 ~11
Geser ke kiri dengan
menekan angka nol dari
<< Left shift 10 << 1 1010 << 1 10100 20
kanan dan biarkan bit paling
kiri jatuh
Geser ke kanan dengan
mendorong salinan bit paling
>> Right shift kiri ke dalam dari kiri, dan 10 >> 1 1010 >> 1 101 5
biarkan bit paling kanan
jatuh
Berikut contoh kode program dari penggunaan operator bitwise dalam bahasa
pemrograman Python:
1 x = 10
2 y = 12
3
4 print('x berisi angka',x ,'desimal atau',bin(x),'biner')
5 print('y berisi angka',y ,'desimal atau',bin(y),'biner')
6
7 print('\n')
8
9 print('x & y :',x & y)
10 print('x | y :',x | y)
11 print('x ^ y :',x ^ y)
12 print('~x :',~x)
13 print('x << 1 :',x << 1)
14 print('x >> 1 :',x >> 1)
9
LECTURE NOTES DASAR PEMROGRAMAN
x & y : 8
x | y : 14
x ^ y : 6
~x : -11
x << 1 : 20
x >> 1 : 5
Di baris 4 dan 5 digunakan function bawaan python, yakni bin(), ini bisa dipakai
untuk menampilkan versi biner dari sebuah angka desimal. Awalan 0b
merupakan penanda bahwa ini adalah angka biner. Artinya, angka 0b1010
adalah 1010 dalam bilangan biner.
Operator bitwise pertama adalah operasi & (And) terhadap kedua variabel.
Operasi bitwise “and” ini akan memproses bit per bit dari kedua variabel, jika
kedua bit sama-sama 1, maka hasilnya juga 1, selain kondisi tersebut, nilai
akhirnya adalah 0. Berikut perhitungan bitwise “and”:
x = 1010
y = 1100
----
Dan dari hasil print, terlihat bahwa hasilnya adalah 8 (dalam bentuk desimal).
Operator bitwise kedua adalah operasi | (Or), hasilnya akan bernilai 0 jika kedua
bit bernilai 0, selain itu nilai bit akan di set menjadi 1. Berikut cara perhitungan
bitwise “or”:
x = 1010
y = 1100
----
x | y = 1110 = 14 (desimal)
Operator bitwise ketiga adalah operasi ^ (Xor), hasilnya akan bernilai 1 jika salah
satu dari kedua variabel bernilai 1 (namun tidak keduanya). Atau dengan kata
lain jika kedua bit berlainan, hasilnya 1 tapi kalau sama-sama 0 atau sama-sama
1, hasilnya 0.
10
LECTURE NOTES DASAR PEMROGRAMAN
y = 1100
----
x ^ y = 0110 = 6 (desimal)
Selanjutnya adalah operasi ~ atau not, yang akan membalikkan nilai bit sebuah
variabel dari 0 menjadi 1, dan 1 menjadi nol. Namun perhitungan bit not ini
sedikit membingungkan karena jika kita hanya membalikkan seluruh bit saja,
hasilnya tidak sesuai dengan apa yang dihitung Python:
x = 1010
--------
Dari hasil menjalankan program, dapat dilihat bahwa ~a = -11, dari manakah
datangnya angka -11?
Di baris 13 adalah operator shift left “<<” dimana nilai variabel x akan digeser
sebanyak 1 digit ke kiri. Berikut proses yang terjadi:
x = 1010 = 10
Ketika hasil pergeseran ke kiri, digit paling kanan akan diisi angka 0. Setiap
penggeseran 1 tempat ke kiri akan mengkali 2 nilai asal. Karena variabel x berisi
desimal 10, maka hasil dari << 1 sama dengan 10 * 2 = 20
Di baris 14, terdapat operator shift right “>>” dimana bahasa python akan
menggeser posisi bit dalam variabel x ke kanan sebanyak 1 tempat. Berikut
proses yang terjadi:
x = 1010 = 10
Operator shift right menggeser nilai biner variabel x ke arah kanan, sehingga digit
paling kanan akan dihapus. Operator shift right ini akan menghasilkan nilai asal
/ 2. Dalam contoh kita, hasilnya adalah 10/2 = 5 (dibulatkan).
11
LECTURE NOTES DASAR PEMROGRAMAN
Sumber Referensi:
Abdul Kadir, Dasar Pemrograman Python. Surabaya: Andi Publisher, 2005.
12