Operator digunakan untuk melakukan operasi pada variabel dan value. Operator berbentuk simbol atau gabungan dari simbol, bukan berbentuk keyword atau kata.

Contoh penggunaan operator yang sederhana seperti ini 2 + 2 = 4. Operator yang digunakan adalah penjumlahan (+).

Operator dikelompokan menjadi beberapa bagian:


Operator Aritmatika


OperatorPenggunaan
Penjumlahan (+)x + y
Pengurangan (-)x - y
Perkalian (*)x * y
Pembagian (/)x / y
Modulus (%)x % y
Pangkat (**)x ** y
Pembagian Bilangan Bulat (//)x // y
  • Penjumlahan
    Menjumlahkan nilai dari masing-masing nilai operan atau bilangan.

    20 + 120 = 140
    
  • Pengurangan
    Mengurangi nilai operan di sebelah kiri menggunakan nilai operan di sebelah kanan.

    90 - 50 = 40
    
  • Perkalian
    Mengalikan nilai operan berdasarkan nilai operan di sebelah kanan.

    9 * 5 = 45
    
  • Pembagian
    Membagi nilai operan berdasarkan nilai operan.

    36 / 6 = 6
    
  • Modulus
    Mendapatkan sisa pembagian dari nilai operan.

    9 % 2 = 1
    9 % 3 = 0
    
  • Pangkat
    Memangkatkan operan berdasarkan nilai dari operan sebelah kanan.

    9 ** 2 = 81
    2 ** 3 = 8
    
  • Pembagian Bulat
    Sama seperti pembagian. Hanya saja hasil pembagian dibulatkan kebawah.

    9 // 2 = 4
    8 // 3 = 3
    

Operator Perbandingan


Operator perbandingan (comparision operators) adalah suatu operator yang digunakan untuk membandingkan suatu nilai atau kondisi dari masing - masing operan.

Keluaran operator perbandingan hanya ada 2 yaitu True dan False

OperatorPenggunaan
Sama Dengan (==)x == y
Tidak Sama Dengan (!=)x != y
Lebih Besar Dari (>)x > y
Lebih Kecil Dari (<)x < y
Lebih Besar Atau Sama Dengan (>=)x >= y
Lebih Kecil Atau Sama Dengan (<=)x <= y
  • Sama Dengan
    Bernilai True Jika masing-masing operan memiliki nilai yang sama, maka kondisi bernilai benar atau True jika salah maka False.
    12 == 12 -> True
    11 == 12 -> False

  • Tidak Sama Dengan
    Bernilai True Jika masing-masing operan memiliki nilai yang TIDAK sama, sebaliknya jika nilai bernilai sama maka False.
    1 != 2 -> True
    2 == 2 -> False

  • Lebih Besar Dari
    Bernilai True Jika operan disebelah kiri memiliki nilai yang lebih BESAR dari nilai operan sebelah kanan, dan sebaliknya.
    900 > 10 -> True
    10 > 1000 -> False

  • Lebih Kecil Dari
    Bernilai True Jika operan disebelah kiri memiliki nilai yang lebih KECIL dari nilai operan sebelah kanan, dan sebaliknya.
    10 < 1000 -> True
    999 < 1 -> False

  • Lebih Besar Atau Sama Dengan
    Bernilai True Jika operan disebelah kiri memiliki nilai yang lebih BESAR atau SAMA dari nilai operan sebelah kanan, dan sebaliknya.
    999 => 10 -> True
    10 => 10 -> True

  • Lebih Kecil Atau Sama Dengan
    Bernilai True Jika operan disebelah kiri memiliki nilai yang lebih KECIL atau SAMA dari nilai operan sebelah kanan, dan sebaliknya.
    20 =< 20 -> True
    2 =< 230 -> True


Operator Penugasan


Operator penugasan adalah sebuah operator yang digunakan untuk memodifikasi nilai dari operator yang sudah ada.

OperatorPenggunaanSama SepertiContoh
Anggap x = 5
=x = yx = yx = 5
+=x += yx = x + yx += 3 -> 8
-=x -= yx = x - yx -= 3 -> 2
*=x *= yx = x * yx *= 3 -> 15
/=x /= yx = x / yx /= 2 -> 2.5
%=x %= yx = x % yx %= 2 -> 1
//=x //= yx = x // yx //= 2 -> 2
**=x **= yx = x ** yx = 2 -> 9
&=x &= yx = x & yx &= 3 -> 1
^=x ^= yx = x ^ yx ^= 3 -> 6
>>=x >>= yx = x >> yx »= 3 -> 0
<<=x <<= yx = x << yx «= 3 -> 40

Mungkin ada beberapa operan yang belum kita ketahui, tapi tenang kita akan membahasnya lebih lanjut.


Operator Logika


Operator Logika adalah operator yang digunakan untuk menghasilkan return(True atau False) dari suatu kondisi dengan menggabungkan statement yang berbeda.

OperatorPenggunaan
Dan (and)(x == y) and (a == b)
Atau (or)(x == y) or (a == b)
Bukan (not)not x == y
  • Dan
    Membandingkan dua statement, menghasilkan nilai True jika keduanya bernilai benar(True), dan jika salah satu statement salah maka hasilnya False. Walaupun statement lainnya bernilai True.
    (10 == 10) and (20 == 20) -> True
    (10 == 9) and (20 == 20) -> False

  • Atau
    Membandingkan dua statement, menghasilkan nilai True jika salah satunya bernilai benar(True), dan jika kedua statement salah maka hasilnya False. Walaupun statement lainnya bernilai False.
    (10 == 9) and (20 == 20) -> True
    (8 == 10) and (9 == 20) -> False

  • Bukan
    Menghasilkan hasil sebaliknya, jika nilai operan adalah benar(True), maka hasilnya akan False, dan jika nilai operan adalah salah (False), maka hasilnya True.
    not (20 == 20) -> False
    not (20 == 10) -> True


Operator Identitas


Operator Identitas adalah operator yang digunakan untuk membandingkan object. Jika object bernilai sama dan memiliki lokasi memori yang sama maka hasilnya True.

Hampir sama seperti perbandingan (== dan !=) tetapi lebih spesifik dan lebih agresif dalam melakukan perbandingan

OperatorPenggunaanContoh
isx is y{} is dict() -> False
10 is 10 -> True
is notx is not y[] is not list() -> True
"ad" is not "ad" -> False

Operator Keanggotaan


Operator Kenggotaan adalah operator yang digunakan untuk mengecek apakah nilai operan berada di dalam sequence (list, dictionary, tuple).

OperatorPenggunaanContoh
inx in y5 in [1,2,3,4,5] -> True
not inx not in y5 not in [2,3,4,6] -> True

Operator Bitwise


Operator Bitwise adalah operator yang digunakan untuk membandingkan data binari. Biasa digunakan untuk membuat rangkaian logika (AND, OR, XOR, NOT).

OperatorAliasPenggunaan
&ANDx & y
OR
^XORx ^ y
~NOR~x
<<Binary Left Shiftx << y
>>Binary Right Shiftx >> y
  • AND
    Jika masing - masing operan memiliki bit 1 pada setiap pembanding, maka nilainya 1.

    a = 60            # 60 = 0011 1100
    b = 13            # 13 = 0000 1101
    c = a & b         # 12 = 0000 1100
    print(c)
    
  • OR
    Jika salah satu atau kedua operan memiliki bit 1 pada setiap pembanding, maka nilainya 1.

    a = 60            # 60 = 0011 1100
    b = 13            # 13 = 0000 1101
    c = a | b         # 61 = 0011 1101
    print(c)
    
  • XOR
    Jika hanya salah satu operan memiliki bit 1 pada setiap pembanding, maka nilainya 1, jika pembanding memilki nilai sama maka 0.

    a = 60            # 60 = 0011 1100
    b = 13            # 13 = 0000 1101
    c = a ^ b         # 49 = 0011 0001
    print(c)
    
  • NOR
    Membalik semua nilai pada bit.

    a = 60            # 60 = 0011 1100
    c = ~a;           # -61 = 1100 0011
    print(c)
    
  • Binary Left Shift
    Mengubah posisi biner ke kiri dengan menambahkan nilai zero.

    a = 60            # 60 = 0011 1100
    c = a << 2;       # 240 = 1111 0000
    print(c)
    
  • Binary Right Shift
    Mengubah posisi biner ke kanan dengan menambahkan nilai zero.

    a = 60            # 60 = 0011 1100
    c = a >> 2;       # 15 = 0000 1111
    print(c)