Belajar Dasar Python #07 : Operator

Operator

Operator merupakan simbol yang digunakan untuk melakukan operasi/instruksi untuk mendapatkan hasil dari proses tersebut. kita sudah menggunakan operator pada latihan sebelumnya yaitu operator penjumlahan (a + b), a dan b disebut sebagai Operand. terdapat beberapa jenis operator yang ada pada python yaitu, Operator Aritmatika, Operator Perbandingan, Operator Logika, Operator bitwise, dan Operator Assignment.

  1. Operator Aritmatika

Operator Aritmatika merupakan Operator yang paling umum kita temukan dalam operasi matematika yaitu, penjumlahan, pengurangan, perkalian, pembagian, dan modulus.

a = int(input("Masukkan nilai a: "))
b = int(input("Masukkan nilai b: "))

# operator penjumlahan
hasil = a + b
print(hasil)

# Operator Pengurangan
hasil = a - b
print(hasil)

# Operator Perkalian
hasil = a * b
print(hasil)

# Operator Pembagian
hasil = a / b
print(hasil)

# Operator Modulus/Sisa Bagi
hasil = a % b
print(hasil)

# Operator pangkat
hasil = a ** b
print(hasil)

# Operator Pembagian pembulatan ke bawah
hasil = 10 // 3
print(hasil)

Output:

Masukkan nilai a: 4
Masukkan nilai b: 2

6
2
8
2.0
0
16
3

 

Operator Penjelasan Contoh Hasil
+ menjumlahkan kedua operand 4 + 2 6
mengurangi operand kiri sebanyak nilai operand kanan 4 – 2 2
* mengalikan operand 4 * 2 8
/ membagi operand 4 / 2 2
% Mendapatkan sisa pembagian dari operan kiri operator ketika dibagi oleh operan kanan. 4 % 2 0
** Memangkatkan operan kiri dengan operan kanan 4 ** 2 16
// Sama seperti pembagian. Hanya saja hasilnya dibulatkan kebawah 10 // 3 3

 

beberapa operasi diatas bisa juga kita terapkan atau gunakan pada string, yaitu operator penjumlahan dan operator perkalian. penjumlahan pada tipe data string berfungsi untuk menggabungkan dua string sedangkan perkalian pada string berfungsi untuk menduplikasi data string.

depan = "LABKOMMAT"
tengah = "FMIPA"
belakang = "UNM"

gabung1 = depan + tengah + belakang
gabung2 = depan + ' ' + tengah + ' ' + belakang
duplikasi = belakang * 3

print(gabung1)
print(gabung2)
print(duplikasi)

Output:

LABKOMMATFMIPAUNM
LABKOMMAT FMIPA UNM
UNMUNMUNM

 

2. Operator Perbandingan

Operator perbandingan digunakan untuk membandingkan dua buah nilai. yang mana output yang dihasilkan dari perbandingan tersebut adalah Boolean(True atau False).

Operator Penjelasan Contoh Hasil
> bernilai benar jika operan kiri lebih besar dari operan kanan 4 > 2 True
< bernilai benar jika operan kiri lebih kecil dari operan kanan 4 < 2 False
== bernilai benar jika kedua operan mempunyai nilai yang sama 2 == 2 True
!= bernilai benar jika kedua operan mempunyai nilai yang tidak sama 4 != 8 True
>= bernilai benar jika nilai operan kiri lebih besar atau sama dengan nilai operan kanan 9 >= 9 True
<= bernilai benar jika nilai operan kiri lebih kecil atau sama dengan nilai operan kanan 9 <= 7 False

 

Contoh kode program:

x = 4
y = 6

# Output: x > y is False
print('x > y,', x > y)

# Output: x < y is True
print('x < y,', x < y) # Output: x == y is False print('x == y,', x == y)

# Output: x != y is True print('x != y,', x != y) # Output: x >= y is False
print('x >= y,', x >= y)

# Output: x <= y is True
print('x <= y,', x <= y)

Output:

x > y, False
x < y, True x == y, False x != y, True x >= y, False
x <= y, True

 

3. Operator Logika

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.

Operator Penjelasan Contoh
and bernilai benar jika kedua operan benar x and y
or bernilai benar jika salah satu atau kedua operan benar x or y
not bernilai benar jika operan salah not x

 

Contoh:

x = True
y = False

print('x and y,', x and y)
print('x or y,', x or y)
print('not x,', not x)

a = "Labkommat" == "labkommat"
b = 2 == "2"
c = 1 != 1

print('a and b,', a and b)
print('b or c,', b or c)
print('not c,', not c)

Output:

x and y, False
x or y, True
not x, False
a and b, False
b or c, False
not c, True

Bisa anda perhatikan, “Labkommat” == “labkommat” akan menghasilkan False karena terdapat perbedaan huruf yaitu L dan l. sedangkan untuk 2 == “2” akan menghasilka False juga karena tipe datanya berbeda, 2 tipe datanya integer, “2” tipe datanya String.

4. Operator Bitwise

Operator logika khusus untuk bilangan biner. bilangan biner hanya terdiri dari angka 0 dan 1 merepresentasikan nilai Boolean(False dan True) yang akan dilakukan operasi logika pada masing-masing bit. contohnya 23 bilangan binernya 11000 dan 18 bilangan binernya 10011 bila kita lakukan operasi logika (and) pada masing-masing bit maka akan menghasilkan 10000. dan jika kita lakukan operasi logika (or) maka akan menghasilkan 11011. Perhatikan Tabel dibawah, dimana x = 24 (binernya 00011000) dan y = 19 (binernya 00010011).

Operator Penjelasan Contoh Hasil
& Bitwise AND x & y 16 binernya adalah 00010000
| Bitwise OR x | y 27 binernya adalah 00011011
~ Bitwise NOT ~x -25 binernya adalah -0011001
^ Bitwise XOR x ^ y 11 binernya adalah 00001011
>> Bitwise Right Shift 27 >>2 6 binernya adalah 00000110
<< Bitwise Left Shift 27 >> 2 108 binernya adalah 01101100

 

Berikut contoh programnya.

x = 24
y = 19

hasilAND = x & y
hasilOR = x | y
hasilNOT = ~x
hasilXOR = x ^ y

print(x, "binernya adalah", format(x,'08b'))
print(y, "binernya adalah", format(y,'08b'))
print("hasil operasi AND", hasilAND, "binernya adalah", format(hasilAND,'08b'))
print("hasil operasi OR", hasilOR, "binernya adalah", format(hasilOR,'08b'))
print("hasil operasi NOT", hasilNOT, "binernya adalah", format(hasilNOT,'08b'))
print("hasil operasi XOR", hasilXOR, "binernya adalah", format(hasilXOR,'08b'))

Output:

24 binernya adalah 00011000
19 binernya adalah 00010011
hasil operasi AND 16 binernya adalah 00010000
hasil operasi OR 27 binernya adalah 00011011
hasil operasi NOT -25 binernya adalah -0011001
hasil operasi XOR 11 binernya adalah 00001011

ada juga Operator Right Shift dan Left Shift. dimana bilangan biner dari operan kiri akan digeser sebanyak operan kanan. Contohnya 27 >> 2, artinya bilangan biner dari 27 yaitu 00011011 digeser kekanan sebanyak dua kali, akan menghasilkan 6 yang bilangan binernya adalah 00000110.

x = 27
hasilRS = x >> 2
hasilLS = x << 2

print(x, "binernya adalah", format(x,'08b'))
print("Operasi Right Shift :",hasilRS, "binernya adalah", format(hasilRS,'08b'))
print("Operasi Left Shift :",hasilLS, "binernya adalah", format(hasilLS,'08b'))

Output:

27 binernya adalah 00011011
Operasi Right Shift : 6 binernya adalah 00000110
Operasi Left Shift : 108 binernya adalah 01101100

 

5. Operator Assignment

Operator Assignment atau Operator Penugasan, yang berfungsi untuk mendeklarasikan atau memasukkan suatu nilai kedalam variabel. Sebenarnya operator assignment ini sudah kita gunakan sejak awal, yap operator sama dengan (=) operator ini termasuk operator Assignment. ada juga beberapa jenis operator assignment yang digabung dengan operator lain yang dapat mempersingkat penulisan syntax/kode. Contohnya, a = a + 2, yang artinya isi dari variabel a kita tambahkan dengan 2 lalu disimpan kedalam variabel a lagi (variabel a yang lama ditimpa dengan variabel a yang baru), ini bisa kita singkat penulisannya menggunakan operator +=, menjadi a += 2 hasilnya akan sama.

Operator Contoh Sama dengan
= a = 10 a =10
+= a += 2 a = a + 2
-= a -= 2 a = a – 2
*= a *= 2 a = a * 2
/= a /= 2 a = a / 2
%= a %= 2 a = a % 2
**= a **= 2 a = a ** 2
&= a &= 2 a = a & 2
|= a |= 2 a = a & 2
^= a ^= 2 a = a ^ 2
>>= a >>= 2 a = a >> 2
<<= a <<= 2 a = a <<  2

 

6. Operator Identitas

Operator is dan is not adalah operator identitas yang berfungsi untuk memeriksa apakah kedua nilai atau operan disimpan di tempat yang sama di dalam memori. dua variabel mungkin saja sama tapi belum tentu identik.

x1 = 5
y1 = 5
x2 = 'Labkom'
y2 = 'Labkom'
x3 = [1,2,3]
y3 = [1,2,3]

print('x1 tidak identik dengan y1:', x1 is y1)
print('x2 identik dengan y2:', x2 is y2)
print('x3 identik dengan y3:', x3 is y3)

Output:

x1 tidak identik dengan y1: False
x2 identik dengan y2: True
x3 identik dengan y3: False

bila anda perhatikan x1 is not y1 akan bernilai False karena x1 dan y1 integer dengan nilai yang sama maka dikatakan identik. dan x2 is y2 akan menghasilkan True karena keduanya adalah String dengan isi yang sama dan dapat dikatakan identik juga. akan tetapi x3 is y3 menghasilkan False. karena tipe data list meskipun isinya sama interpreter akan menempatkan keduanya di tempat terpisah didalam memori.

7. Operator Keanggotaan

Operator in dan not in merupakan operator keanggotaan. operator ini berfungsi untuk menguji apakah sebuah nilai atau variabel ada di dalam sequence(String, List, Tuple, Set, Dictionary).

x = 'Hello world'
y = ['aku','kamu']
z = {1:'a',2:'b'}

print('H' in x)
print('hello' not in x)
print(0 in y)
print('aku' in y)
print(1 in z)
print('a' in z)

Output:

True
True
False
True
True
False

 

Hirarki atau urutan Operator pada python

pada python berlaku hirarki atau urutan operator yang mengatur operator mana saja yang akan dikerjakan atau diselesaikan lebih dulu. Contoh 3 – 2 * 10, seperti yang kita tahu perkalian akan lebih dulu diselesaikan lalu pengurangan, hal ini juga berlaku di python. berikut hirarki atau urutannya:

Operator Penjelasan
() Dalam kurung
** Pangkat/Eksponen
+x, -x, ~x Positif, Negatif, dan Bitwise NOT
*, /, //, % Perkalian, Pembagian, dan Modulus
+, – Penjumlahan, dan Pengurangan
<<, >> Bitwise Shift
& Bitwise AND
^ Bitwise XOR
| Bitwise OR
==, !=, >, >=, <, <=, is, is not, in, not in Perbandingan, Identitas, dan Keanggotaan
not Logika NOT
and Logika AND
or Logika OR

 

Dapat anda lihat ada beberapa operator yang memiliki tingkatan yang sama. jika pada suatu expression terdapat operator yang memiliki tingkatan yang sama dijalankan mulai dari kiri ke kanan. kecuali pengkat atau eksponen, yang diselesaikan mulai dari kanan ke kiri.

# dari kiri-kekanan
print(9 / 3 * 2)
# dari kanan ke kiri
print(2 ** 3 ** 2)

dapat diperhatikan 9 / 3 * 2, akan sama dengan (9 / 3) * 2, pembagian akan dikerjakan lebih dulu dilanjutkan dengan perkalian. sedangkan pada pangkat/eksponen, 2 ** 3 ** 2 akan sama dengan 2 ** (3 ** 2), 3 pangkat 2 akan diselesaikan lebih dulu.

pada tutorial selanjutnya kita akan mempelajari Percabangan pada python.

Artikel Terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.