Estimasi Waktu Baca: 9 menit

Kemarin kita sudah belajar tentang variabel dan tipe data. Sekarang kita akan belajar tentang bagaimana cara mengoperasikan isi dari variabel.

Misalkan kita ingin menjumlahkan kedua nilai 4+2 atau mengurangi 4-2, membagi, mengalikan atau mungkin ingin membandingkan besar mana antara 4 dan 2 di python. Itu semua dapat dilakukan dengan menggunakan operator.

Operator merupakan sebuah simbol atau istilah yang digunakan untuk memanipulasi nilai. Seperti tadi 4+2, mana operatornya? Yah, tanda + itulah operatornya. Sedangkan nilai yang dioperasikan disebut operan. Contohnya 4 dan 2 tadi. Selain itu operan juga tidak melulu bertipe bilangan, bisa bertipe String atau tipe data lain. Jika nilai-nilai tadi diwakili oleh variabel. Maka variabel secara teknis juga bisa dipanggil operan.

Kembali ke operator. Selain sebagai perhitungan, operator juga bisa digunakan untuk membandingkan antar nilai, mencari nilai dalam suatu list, dan lain-lain sesuai jenisnya.

Jenis-Jenis Operator

Dalam pemrograman python operator banyak jenisnya. Tercatat ada 7. Apa saja?

  1. Operator Aritmatika
  2. Operator Perbandingan atau Relasi
  3. Operator Penugasan
  4. Operator Logika
  5. Operator Bitwise
  6. Operator Keanggotaan
  7. Operator Identifikasi

Selanjutnya, kita akan kenali secara langsung satu-satu. Okay, let’s go!

Operator Aritmatika

Fungsi operator aritmatika mencakup penjumlahan, pengurangan, pembagian, perkalian, dan lain-lain. Beberapa simbol dari operator aritmatika sudah kita kenal semenjak bangku TK, seperti penjumlahan kita tahu itu disimbolkan dengan tanda plus (+), pengurangan minus (-), perkalian (x, namun karena di python x merupakan huruf maka diganti *), dan sebagainya.

OperatorPenjelasanPenerapan
+Digunakan untuk operasi penjumlahan7 + 2 = 9
Digunakan untuk operasi pengurangan7 – 2 = 5
*Digunakan untuk operasi perkalian7 * 2 = 14
/Digunakan untuk operasi pembagian dengan hasilnya berupa bilangan ril7 / 2 = 3.5
//Digunakan untuk operasi pembagian dengan hasilnya dibulatkan ke bawah7 // 2 = 3
%Digunakan untuk operasi sisa hasil pembagian7 % 2 = 1
**Digunakan untuk operasi pemangkatan7 ** 2 = 49

Nah, sekarang coba praktekan di python.


x = 7
y = 2

# Ini operasi penjumlahan
z = x + y
print("%d + %d =" % (x, y), z)

# Ini operasi pengurangan
z = x - y
print("%d - %d =" % (x, y), z)

# Ini operasi perkalian
z = x * y
print("%d * %d =" % (x, y), z)

#Ini operasi pembagian dengan hasilya bilangan ril
z = x / y
print("%d / %d =" % (x, y), z)

#Ini operasi pembagian dengan hasilya bilangan bulat ke bawah
z = x // y
print("%d // %d =" % (x, y), z)

#Ini operasi modulus, hasilnya dari sisa operasi pembagian
z = x % y
print("%d %% %d =" % (x, y), z)

#Ini operasi pemangkatan atau eksponensial
z = x ** y
print("%d ** %d =" % (x, y), z)
Python

Outputnya:

7 + 2 = 9 
7 - 2 = 5 
7 * 2 = 14 
7 / 2 = 3.5 
7 // 2 = 3 
7 % 2 = 1 
7 ** 2 = 49

Operator Perbandingan

Digunakan untuk membandingkan nilai di sebelah kiri dan kanan. Kemudian akan ditetapkan hubungan antara keduanya. Maka dari itu operator ini juga disebut operator relasi. Hasil dari operator perbandingan adalah nilai tipe data boolean (True dan False).

OperatorPenjelasanPenerapanHasil
==Menyatakan sama dengan, bernilai BENAR jika nilai sebelah kiri dan kanan sama1 == 1True
!=Menyatakan tidak sama dengan, bernilai BENAR jika nilai sebelah kiri dan kanan berbeda1 != 2True
<Menyatakan lebih kecil, bernilai BENAR jika nilai sebelah kiri lebih kecil daripada nilai sebelah kanan1 < 2True
>Menyatakan lebih besar, bernilai BENAR jika nilai sebelah kiri lebih besar daripada nilai sebelah kanan2 > 1True
<=Menyatakan lebih kecil atau sama dengan, bernilai BENAR jika nilai sebelah kiri lebih kecil atau sama dengan nilai sebelah kanan1 <= 2
atau
2 <= 2
True
>=Menyatakan lebih besar atau sama dengan, bernilai BENAR jika nilai sebelah kiri lebih besar atau sama dengan nilai sebelah kanan2 >= 1
atau
2 >= 2
True

Praktek di python:

x = 1
y = 1
z = x == y 
print("%d == %d =" % (x, y), z)

x = 1
y = 2
z = x != y 
print("%d != %d =" % (x, y), z)

x = 1
y = 2
z = x < y 
print("%d < %d =" % (x, y), z)

x = 3
y = 2
z = x > y 
print("%d > %d =" % (x, y), z)

w = 1
x = 2
y = 2
z = x <= y 
print("%d <= %d =" % (w, x), z, "dan %d <= %d =" % (x, y), z)

w = 3
x = 2
y = 2
z = x >= y 
print("%d >= %d =" % (w, x), z, "dan %d >= %d =" % (x, y), z)

Output:

1 == 1 = True
1 != 2 = True
1 < 2 = True
3 > 2 = True
1 <= 2 = True dan 2 <= 2 = True
3 >= 2 = True dan 2 >= 2 = True

Operator Penugasan

Merupakan operator yang digunakan atau ditugaskan untuk menyimpan nilai ke dalam variabel. Simbol dari operator jenis ini pada dasarnya diwakili dengan tanda =. Sering diterapkan saat kita membuat variabel.

Selain itu simbol = pada operator ini juga bisa dikombinasikan dengan operator jenis lain seperti operator aritmatika dan bitwise, hal ini disebut operator penugasan gabungan. Ketika operator gabungan ini digunakan, maka fungsinya tidak hanya akan menyimpan nilai tapi juga akan memanipulasi nilainya sesuai dengan jenis operator gabungannya.

OperatorPenjelasanPenerapanSama Dengan
=Memberikan operan di sebelah kanan untuk disimpan oleh variabel di sebelah kirix = 5
+=Menjumlahkan operan sebelah kanan ke operan sebelah kiri/nilai variabel itu sendiri dan menyimpan hasilnya kembali ke variabel tersebut.x += 5x = x + 5
-=Mengurangi operan sebelah kanan ke operan sebelah kiri/nilai variabel itu sendiri dan menyimpan hasilnya kembali ke variabel tersebut.x -= 5x = x – 5
*=Mengalikan operan sebelah kanan ke operan sebelah kiri/nilai variabel itu sendiri dan menyimpan hasilnya kembali ke variabel tersebut.x *= 5x = x * 5
/=Membagi operan sebelah kanan ke operan sebelah kiri/nilai variabel itu sendiri dan menyimpan hasilnya kembali ke variabel tersebut. (Hasil pembagiannya berupa bilangan ril)x /= 5x = x / 5
//=Membagi operan sebelah kanan ke operan sebelah kiri/nilai variabel itu sendiri dan menyimpan hasilnya kembali ke variabel tersebut. (Hasil pembagiannya dibulatkan ke bawah)x //= 5x = x//5
%=Membagi operan sebelah kanan ke operan sebelah kiri/nilai variabel itu sendiri dan menyimpan hasil sisa baginya kembali ke variabel tersebutx %= 5x = x % 5
**=operan sebelah kanan dipangkatkan berdasarkan operan sebelah kiri/nilai variabel itu sendiri dan menyimpan hasil sisa baginya kembali ke variabel tersebutx **= 5x = x**5

Praktek di Python:

x = 5
print("x =", x)

x = 5
x += 2
print("x += 2 =", x)

x = 5
x -= 2
print("x -= 2 =", x)

x = 5
x *= 2
print("x *= 2 =", x)

x = 5
x /= 2
print("x /= 2 =", x)

x = 5
x //= 2
print("x //= 2 =", x)

x = 5
x %= 2
print("x %= 2 =", x)

x = 5
x **= 2
print("x **= 2 =", x)

Outputnya:


x = 5
x += 2 = 7
x -= 2 = 3
x *= 2 = 10
x /= 2 = 2.5
x //= 2 = 2
x %= 2 = 1
x **= 2 = 25
Bash

Operator Logika

Operator ini digunakan untuk operasi logika dan terdiri dari 3 jenis AND, OR, dan NOT.

OperatorPenjelasanPenerapanHasil
andMenyatakan dan, bernilai BENAR jika operan sebelah kanan dan kiri bernilai TrueTrue and TrueTrue
orMenyatakan atau, bernilai BENAR jika minimal salah satu operan sebelah kanan atau kiri atau juga keduanya bernilai TrueTrue or FalseTrue
notMenyatakan tidak, bernilai BENAR jika operan bernilai Falsenot FalseTrue
# Operator AND
print("Tabel Operator AND")
print("True and True =", True and True)
print("True and False =", True and False)
print("False and True =", False and True)
print("False and False =", False and False, "\n")

# Operator OR
print("Tabel Operator OR")
print("True or True =", True or True)
print("True or False =", True or False)
print("False or True =", False or True)
print("False or False =", False or False, "\n")

# Operator NOT
print("Operator NOT")
print("not False =", not True)
print("not True =", not False)
Tabel Operator AND
True and True = True
True and False = False
False and True = False
False and False = False 

Tabel Operator OR
True or True = True
True or False = True
False or True = True
False or False = False 

Operator NOT
not False = False
not True = True

Operator Bitwise

Untuk menggunakan operator bitwise minimal kalian perlu tahu pemahaman tentang apa itu bilangan biner. Karena operator ini diperuntukkan untuk hal tersebut. Nah sekarang apa itu bilangan biner? Bilangan biner merupakan bilangan yang tersusun atas dua angka 0 dan 1.

Bisa dibilang konsep dari operator bitwise merupakan operator logika yang dikhususkan untuk bilangan biner.

OperatorPenjelasanPenerapan
&Menyatakan dan, bernilai Benar jika kedua bit yang dibandingkan bernilai 1x & y
|Menyatakan atau, bernilai Benar jika minimal satu atau kedua bit yang dibandingkan ada yang bernilai 1x | y
^Menyatakan atau, bernilai Benar jika hanya ada satu bit yang bernilai 1x ^ y
~Menyatakan Negasi atau kebalikan, merubah bilangan positif ke negatif dan sebaliknyax ~ y
<<Menggeser deret bit ke kiri dan menambahkan angka 0 dari kiri dalam deret bit sebanyak operan sebelah kananx << y
>>Menggeser deret bit ke kanan dan menghapus deret bit dari kanan sebanyak operan sebelah kananx >> y
x = 2 & 5
print("2 & 5 =", x)

x = 2 | 5
print("2 | 5 =", x)

x = 2 ^ 5
print("2 ^ 5 =", x)

x = ~ 5
print("x = ~5 =", x)

x = 2 << 5
print("2 << 5 =", x)

x = 2 >> 5
print("2 >> 5 =", x)

Output:

2 & 5 = 0
2 | 5 = 7
2 ^ 5 = 7
x = ~5 = -6
2 << 5 = 64
2 >> 5 = 0

Operator Keanggotaan

Operator ini diperuntukkan untuk mencari keanggotaan dalam suatu tipe data urutan seperti String, List, dan Tuple. Tak mengherankan jika operator ini sering diterapkan dalam perulangan. Karena hanya memastikan suatu nilai ADA atau TIDAK ADA di dalam daftar, maka operator ini hanya berisi 2 anggota saja.

OperatorPenjelasanPenggunaanHasil
inMenyatakan ada, bernilai BENAR jika anggota berada dalam daftar2 in [1, 2]True
not inMenyatakan tidak ada, bernilai BENAR jika anggota tidak ada dalam daftar3 not in [1, 2]True
#Operator in dan not in dalam String
sampel = 'kopidingin'
print('Sampel = kopidingin')
print('[kopi] in kopidingin :', 'kopi' in sampel)
print('[susu] in kopidingin :', 'susu' in sampel)
print('[panas] not in kopidingin :', 'panas' not in sampel)
print('[dingin] not in kopidingin :', 'dingin' not in sampel, "\n")

#Operator in dan not in dalam List beranggotakan string
asean = ['Indonesia', 'Malaysia', 'Singapura', 'Thailand', 'Filipina']
print('Anggota ASEAN = [Indonesia, Malaysia, Singapura, Thailand, Filipina]')
print('[Indonesia] in anggota ASEAN :', 'Indonesia' in asean)
print('[Australia] in anggota ASEAN :', 'Australia' in asean)
print('[Amerika] not in anggota ASEAN :', 'Amerika' not in asean)
print('[Singapura] not in anggota ASEAN :', 'Singapura' not in asean, "\n")

#Operator in dan not in dalam List beranggotakan bilangan
prima = [2, 3, 5, 7, 11, 13, 17, 19]
print('Bilangan prima = [2, 3, 5, 7, 11, 13, 17, 19]')
print('[5] in bilangan prima :', 5 in prima)
print('[9] in bilangan prima :', 9 in prima)
print('[15] not in bilangan prima :', 15 not in prima)
print('[17] not in bilangan prima :', 17 not in prima, "\n")

#Operator in dan not in dalam Tuple beranggotakan string
veto = ('Amerika', 'Rusia', 'RRC', 'Inggris', 'Perancis')
print('Pemilik = (Amerika, Rusia, RRC, Thailand, Filipina)')
print('[Amerika] in pemilik hak veto :', 'Amerika' in veto)
print('[Jepang] in pemilik hak veto :', 'Jepang' in veto)
print('[Indonesia] not in pemilik hak veto :', 'Indonesia' not in veto)
print('[Rusia] not in pemilik hak veto :', 'Rusia' not in veto, "\n")

#Operator in dan not in dalam Tuple beranggotakan bilangan
ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)
print('Bilangan ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)')
print('[5] in bilangan ganjil :', 5 in ganjil)
print('[10] in bilangan ganjil :', 10 in ganjil)
print('[18] not in bilangan ganjil :', 18 not in ganjil)
print('[7] not in bilangan ganjil :', 7 not in ganjil)
Sampel = kopidingin
[kopi] in kopidingin : True
[susu] in kopidingin : False
[panas] not in kopidingin : True
[dingin] not in kopidingin : False 

Anggota ASEAN = [Indonesia, Malaysia, Singapura, Thailand, Filipina]
[Indonesia] in anggota ASEAN : True
[Australia] in anggota ASEAN : False
[Amerika] not in anggota ASEAN : True
[Singapura] not in anggota ASEAN : False 

Bilangan prima = [2, 3, 5, 7, 11, 13, 17, 19]
[5] in bilangan prima : True
[9] in bilangan prima : False
[15] not in bilangan prima : True
[17] not in bilangan prima : False 

Pemilik = (Amerika, Rusia, RRC, Thailand, Filipina)
[Amerika] in pemilik hak veto : True
[Jepang] in pemilik hak veto : False
[Indonesia] not in pemilik hak veto : True
[Rusia] not in pemilik hak veto : False 

Bilangan ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)
[5] in bilangan ganjil : True
[10] in bilangan ganjil : False
[18] not in bilangan ganjil : True
[7] not in bilangan ganjil : False

Operator Identitas

Berbeda dengan operator keanggotaan sebelumnya, yang memastikan ada atau tidak adanya suatu anggota dalam daftar atau nilai tertentu dalam sebuah variabel. Operator identitas lebih digunakan untuk membandingkan dan memastikan apakah variabel x menunjuk lokasi memori yang sama dengan variabel y. Jadi lebih ke mencocokan isi antar variabel.

Jumlah anggotanya sama dengan operator keanggotaan, hanya berisi 2. Bila di operator keanggotaan ada in dan not in. Maka di operator identitas ada is dan not is.

OperatorPenjelasanPenggunaanHasil
isMenyatakan kesamaan, bernilai BENAR jika suatu operan menunjuk atau berisi nilai yang sama dengan operan lainx = 5
y = 5
x is y
True
not isMenyatakan ketidaksamaan, bernilai BENAR jika suatu operan menunjuk atau berisi nilai yang tidak sama dengan operan lainx = 5
y = 7
x is not y
True
x = 5
y = 5
z = 7

print("x is y =", x is y)
print("y is z =", x is y)
print("x is z =", x is y, "\n")

print("x is not y =", x is y)
print("y is not z =", x is y)
print("x is not z =", x is y, "\n")

budi = "kelas A"
ani = "kelas A"
toni = "kelas B"

print("kelas budi is kelas ani =", budi is ani)
print("kelas ani is kelas toni =", ani is toni)
print("kelas budi is kelas toni =", toni is budi, "\n")

print("kelas budi is not kelas ani =", budi is not ani)
print("kelas ani is not kelas toni =", ani is not toni)
print("kelas budi is not kelas toni =", toni is not budi)
x is y = True
y is z = True
x is z = True 

x is not y = True
y is not z = True
x is not z = True 

kelas budi is kelas ani = True
kelas ani is kelas toni = False
kelas budi is kelas toni = False 

kelas budi is not kelas ani = False
kelas ani is not kelas toni = True
kelas budi is not kelas toni = True