Sama seperti dalam matematika, bahasa pemrograman seperti Python memiliki operator. Anda bisa menganggapnya sebagai fungsi yang sangat sederhana yang menjadi dasar ilmu komputer. Ini adalah operasi paling sederhana tempat sebuah program komputer dapat direduksi. Operator adalah pengetahuan penting bagi siapa pun yang ingin menjadi Data Scientist atau Software Engineer.
Jika Anda ingin mempelajari lebih lanjut tentang dasar-dasar Bahasa Pemrograman Python, pastikan untuk melihat kursus gratis kami Intro to Python for Data Science.
Operator Aritmetika
Anda mungkin sudah familiar dengan ini karena berasal dari matematika dasar.
Operator aritmetika adalah penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), pangkat (**), pembagian bulat (//) dan modulus (%). Empat yang pertama cukup sederhana; yaitu penjumlahan, pengurangan, perkalian, dan pembagian, dan Anda kemungkinan sudah mengenalnya.
# Additionprint(5+2)# Subtractionprint(5-2)# Multiplicationprint(5*2)# Divisionprint(5/2)Didukung oleh
Tiga lainnya sedikit lebih rumit. Operator pangkat berarti "dipangkatkan". Misalnya, 2 ** 3 berarti 2 dikalikan dengan dirinya sendiri sebanyak 3 kali, jadi 2 ** 3 sama dengan 2 * 2 * 2, yang bernilai 8.
Pembagian bulat sama seperti pembagian biasa, kecuali hasilnya selalu dibulatkan ke bawah. Pada contoh di bawah, 5 dibagi 2 menghasilkan 2,5. Namun karena ini pembagian bulat, 2,5 dibulatkan ke bawah menjadi 2.
Terakhir, modulus adalah sisa setelah pembagian. Pada kasus 5%2, angka 2 hanya muat dua kali di dalam 5, yang berarti sisanya adalah 1.
# Exponentprint(5**2)# This is the same as 5 * 5# Floor Divisionprint(5//2)# Modulusprint(5%2)Didukung oleh
Jika Anda memiliki sedikit pengalaman pemrograman, Anda pasti pernah menggunakan operator penugasan sebelumnya. Operator ini menetapkan nilai tertentu ke variabel. Yang paling sering digunakan adalah =. Untuk menggunakannya, cukup ketik nama variabel yang ingin Anda beri nilai baru, lalu =, dan nilai yang ingin ditetapkan. Misalnya, jika Anda ingin menetapkan nilai 100 ke variabel balance, Anda dapat melakukan hal berikut:
Jika Anda ingin menambah nilai balance sebesar 10, Anda dapat menggunakan balance += 10. Ini setara dengan balance = balance + 10, tetapi jauh lebih singkat.
Operator penugasan lainnya bekerja dengan cara yang persis sama. Yaitu:
*=
/=
**=
//=
%=
Operator Perbandingan
Anda dapat menggunakan operator perbandingan untuk—seperti namanya—membandingkan nilai variabel. Operator ini selalu mengembalikan nilai boolean, yaitu True atau False. Ada enam macam:
a =3
b =5print(a == b)# Equalprint(a != b)# Not equalprint(a > b)# Greater thanprint(a < b)# Less thanprint(a >= b)# Greater than or equal toprint(a <= b)# Less than or equal toDidukung oleh
== dan != juga dapat digunakan untuk membandingkan string alih-alih angka. Operator lainnya tidak kompatibel dengan string, karena string tidak benar-benar bisa lebih besar dari string lainnya.
print("Hello"=="World")print("Python"!="R")Didukung oleh
Anda mungkin sudah familiar dengan ini! Dalam logika, operator ini disebut konnektor logis. Operator ini juga banyak digunakan dalam bahasa manusia. Yaitu: and, or, dan not.
and hanya akan mengembalikan True jika kedua operan (dua objek boolean yang Anda bandingkan) bernilai True. Contohnya:
print(TrueandTrue)print(TrueandFalse)print(FalseandFalse)Didukung oleh
Ingat bahwa sebelumnya Anda melihat bagaimana + dapat digunakan untuk menjumlahkan angka, tetapi juga dapat digunakan untuk menggabungkan string. Jadi + bekerja berbeda tergantung pada jenis objek yang Anda gunakan. Namun ini tidak selalu terjadi. Terkadang, operator yang Anda gunakan tidak mendukung jenis objek yang ingin Anda gunakan.
Berikut contoh. Misalkan Anda memiliki dua objek Dog, ozzy dan filou. Keduanya berasal dari kelas Dog di bawah ini. Anda dapat menganggap kelas sebagai cetak biru tentang bagaimana objek harus terlihat dan berperilaku. Dalam kasus ini, objek Dog memiliki nama, usia, dan tinggi. Setelah kelas didefinisikan, Anda dapat membuat objek. Salah satunya adalah Ozzy, berusia 3 tahun dan tinggi 30 sentimeter. Yang lainnya adalah Filou, berusia 5 tahun dan tinggi 65 sentimeter.
Contoh ini menggunakan konsep Pemrograman Berorientasi Objek. Jika Anda ingin mempelajari lebih lanjut, pastikan membaca tutorial kami tentang Object-Oriented Programming in Python
Misalkan Anda ingin membandingkan kedua anjing dengan operator lebih besar dari: >. Ini tidak akan berhasil. Anda akan mendapat galat yang mengatakan '>' not supported between instances of 'Dog' and 'Dog'. Artinya, > tidak tahu bagaimana membandingkan objek dari kelas Dog.
classDog:def__init__(self, name, age, height):
self.name = name
self.age = age
self.height = height
ozzy = Dog("Ozzy",3,30)
filou = Dog("Filou",5,65)print(filou > ozzy)Didukung oleh
---------------------------------------------------------------------------
TypeError Traceback(most recent call last)<ipython-input-96-428069ab24cc>in<module>()9 filou =Dog("Filou",5,65)10--->11print(filou > ozzy)TypeError:'>' not supported between instances of'Dog' and 'Dog'Didukung oleh
Untungnya, dengan operator overloading, Anda dapat menentukan perilaku operator saat dipanggil pada objek Dog. Dalam kasus ini, metode bernama __gt__, yang berarti 'greater than', harus didefinisikan, menerima dua argumen. Karena kita ingin membandingkan anjing berdasarkan tinggi badan, metode tersebut mengembalikan self.height > other.height.
classDog:def__init__(self, name, age, height):
self.name = name
self.age = age
self.height = height
def__gt__(self,other):return self.height > other.height
ozzy = Dog("Ozzy",3,30)
filou = Dog("Filou",5,65)print(filou > ozzy)print(ozzy > filou)Didukung oleh
Bagaimana Anda tahu mana yang akan dijalankan terlebih dahulu? Bagaimana seharusnya Anda membaca satu baris kode dengan banyak simbol seperti ini? Apakah dieksekusi dari kiri ke kanan atau ada urutan tertentu?
Di sinilah prioritas (precedence) berperan. Operator Python dieksekusi dalam urutan yang sangat spesifik, dan beberapa memiliki prioritas dibandingkan yang lain.
Pada tabel berikut, Anda dapat melihat prioritas operator, diurutkan dari atas ke bawah. Aturan ini sama seperti dalam matematika, di mana perhitungan tertentu dalam sebuah rumus harus dilakukan sebelum yang lain.
Prioritas
Operator
Deskripsi
1
**
pangkat
2
*, /, %, //
perkalian, pembagian, modulo, pembagian bulat
3
+, -
tambah, kurang
4
>, <, >=, <=
perbandingan
5
==, !=
kesetaraan
6
= %= /= //= -= += *= **=
penugasan
7
and, or, not
logika
Asosiativitas
Anda telah melihat bahwa prioritas itu penting! Namun bagaimana dengan operator yang berada pada tingkat prioritas yang sama, seperti perkalian dan pembagian? Apakah dieksekusi pada saat yang sama? Tidak. *, \, % dan \\ dieksekusi dari kiri ke kanan, sedangkan ** dieksekusi dari kanan ke kiri. Ini disebut asosiativitas.
Lihat contoh berikut. Dalam kasus ini, operator akan dieksekusi dari kiri ke kanan, dan keluarannya adalah 3.
Namun, dengan menambahkan tanda kurung, Anda dapat mengubah urutan eksekusi operator. Itulah asosiativitas, yang bekerja sama seperti dalam matematika. Apa pun yang ada di dalam tanda kurung akan dihitung terlebih dahulu. Dalam kasus ini, pembagian bulat akan dilakukan terlebih dahulu, diikuti dengan perkalian.
Sekarang Anda tahu apa itu operator, bagaimana cara menggunakannya, dan bagaimana cara kerjanya. Anda juga mempelajari tentang overloading, prioritas, dan asosiativitas. Anda sedang berada di jalur yang tepat untuk menjadi ahli Python! Jika Anda ingin belajar lebih banyak lagi, jangan ragu untuk melihat kursus kami Intermediate Python for Data Science.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Selami ilmu data dengan Python dan pelajari cara menganalisis serta memvisualisasikan data Anda secara efektif. Tak perlu pengalaman atau keterampilan coding.
Sama seperti dalam matematika, bahasa pemrograman seperti Python memiliki operator. Anda bisa menganggapnya sebagai fungsi yang sangat sederhana yang menjadi dasar ilmu komputer. Ini adalah operasi paling sederhana tempat sebuah program komputer dapat direduksi. Operator adalah pengetahuan penting bagi siapa pun yang ingin menjadi Data Scientist atau Software Engineer.
Dalam tutorial ini, Anda akan mempelajari tentang
Jika Anda ingin mempelajari lebih lanjut tentang dasar-dasar Bahasa Pemrograman Python, pastikan untuk melihat kursus gratis kami Intro to Python for Data Science.
Operator Aritmetika
Anda mungkin sudah familiar dengan ini karena berasal dari matematika dasar.
Operator aritmetika adalah penjumlahan (
+), pengurangan (-), perkalian (*), pembagian (/), pangkat (**), pembagian bulat (//) dan modulus (%). Empat yang pertama cukup sederhana; yaitu penjumlahan, pengurangan, perkalian, dan pembagian, dan Anda kemungkinan sudah mengenalnya.Tiga lainnya sedikit lebih rumit. Operator pangkat berarti "dipangkatkan". Misalnya,
2 ** 3berarti2dikalikan dengan dirinya sendiri sebanyak3kali, jadi2 ** 3sama dengan2 * 2 * 2, yang bernilai 8.Pembagian bulat sama seperti pembagian biasa, kecuali hasilnya selalu dibulatkan ke bawah. Pada contoh di bawah, 5 dibagi 2 menghasilkan 2,5. Namun karena ini pembagian bulat, 2,5 dibulatkan ke bawah menjadi 2.
Terakhir, modulus adalah sisa setelah pembagian. Pada kasus
5%2, angka 2 hanya muat dua kali di dalam 5, yang berarti sisanya adalah 1.Di Python, operator penjumlahan juga dapat digunakan untuk menggabungkan string. Ini berarti string akan disusun menjadi satu string, misalnya:
Operator Penugasan
Jika Anda memiliki sedikit pengalaman pemrograman, Anda pasti pernah menggunakan operator penugasan sebelumnya. Operator ini menetapkan nilai tertentu ke variabel. Yang paling sering digunakan adalah
=. Untuk menggunakannya, cukup ketik nama variabel yang ingin Anda beri nilai baru, lalu=, dan nilai yang ingin ditetapkan. Misalnya, jika Anda ingin menetapkan nilai 100 ke variabelbalance, Anda dapat melakukan hal berikut:Jika Anda ingin menambah nilai
balancesebesar 10, Anda dapat menggunakanbalance += 10. Ini setara denganbalance = balance + 10, tetapi jauh lebih singkat.Hal yang sama berlaku untuk
-=,balance -= 10sama denganbalance = balance - 10:Operator penugasan lainnya bekerja dengan cara yang persis sama. Yaitu:
*=/=**=//=%=Operator Perbandingan
Anda dapat menggunakan operator perbandingan untuk—seperti namanya—membandingkan nilai variabel. Operator ini selalu mengembalikan nilai boolean, yaitu
TrueatauFalse. Ada enam macam:==!=><>=<=Berikut beberapa contoh perbandingan:
==dan!=juga dapat digunakan untuk membandingkan string alih-alih angka. Operator lainnya tidak kompatibel dengan string, karena string tidak benar-benar bisa lebih besar dari string lainnya.Operator Logika
Anda mungkin sudah familiar dengan ini! Dalam logika, operator ini disebut konnektor logis. Operator ini juga banyak digunakan dalam bahasa manusia. Yaitu:
and,or, dannot.andhanya akan mengembalikan True jika kedua operan (dua objek boolean yang Anda bandingkan) bernilai True. Contohnya:Untuk memahami perilaku operator logika ini, Anda dapat menggunakan tabel kebenaran:
orbernilai True kapan pun salah satu (satu atau lebih) operan bernilai True.Perhatikan bahwa operator ini juga berfungsi dengan lebih dari dua operan, misalnya:
notakan mengembalikan kebalikan dari operannya, jadiTruejika diberikanFalsedan sebaliknya.Operator overloading
Ingat bahwa sebelumnya Anda melihat bagaimana
+dapat digunakan untuk menjumlahkan angka, tetapi juga dapat digunakan untuk menggabungkan string. Jadi+bekerja berbeda tergantung pada jenis objek yang Anda gunakan. Namun ini tidak selalu terjadi. Terkadang, operator yang Anda gunakan tidak mendukung jenis objek yang ingin Anda gunakan.Berikut contoh. Misalkan Anda memiliki dua objek
Dog,ozzydanfilou. Keduanya berasal dari kelasDogdi bawah ini. Anda dapat menganggap kelas sebagai cetak biru tentang bagaimana objek harus terlihat dan berperilaku. Dalam kasus ini, objekDogmemiliki nama, usia, dan tinggi. Setelah kelas didefinisikan, Anda dapat membuat objek. Salah satunya adalah Ozzy, berusia 3 tahun dan tinggi 30 sentimeter. Yang lainnya adalah Filou, berusia 5 tahun dan tinggi 65 sentimeter.Contoh ini menggunakan konsep Pemrograman Berorientasi Objek. Jika Anda ingin mempelajari lebih lanjut, pastikan membaca tutorial kami tentang Object-Oriented Programming in Python
Misalkan Anda ingin membandingkan kedua anjing dengan operator lebih besar dari:
>. Ini tidak akan berhasil. Anda akan mendapat galat yang mengatakan'>' not supported between instances of 'Dog' and 'Dog'. Artinya,>tidak tahu bagaimana membandingkan objek dari kelasDog.Untungnya, dengan operator overloading, Anda dapat menentukan perilaku operator saat dipanggil pada objek
Dog. Dalam kasus ini, metode bernama__gt__, yang berarti 'greater than', harus didefinisikan, menerima dua argumen. Karena kita ingin membandingkan anjing berdasarkan tinggi badan, metode tersebut mengembalikanself.height > other.height.Prioritas
Ketika Anda menggabungkan banyak operator, segalanya bisa membingungkan. Lihat contoh di bawah:
Bagaimana Anda tahu mana yang akan dijalankan terlebih dahulu? Bagaimana seharusnya Anda membaca satu baris kode dengan banyak simbol seperti ini? Apakah dieksekusi dari kiri ke kanan atau ada urutan tertentu?
Di sinilah prioritas (precedence) berperan. Operator Python dieksekusi dalam urutan yang sangat spesifik, dan beberapa memiliki prioritas dibandingkan yang lain.
Pada tabel berikut, Anda dapat melihat prioritas operator, diurutkan dari atas ke bawah. Aturan ini sama seperti dalam matematika, di mana perhitungan tertentu dalam sebuah rumus harus dilakukan sebelum yang lain.
Asosiativitas
Anda telah melihat bahwa prioritas itu penting! Namun bagaimana dengan operator yang berada pada tingkat prioritas yang sama, seperti perkalian dan pembagian? Apakah dieksekusi pada saat yang sama? Tidak.
*,\,%dan\\dieksekusi dari kiri ke kanan, sedangkan**dieksekusi dari kanan ke kiri. Ini disebut asosiativitas.Lihat contoh berikut. Dalam kasus ini, operator akan dieksekusi dari kiri ke kanan, dan keluarannya adalah 3.
Namun, dengan menambahkan tanda kurung, Anda dapat mengubah urutan eksekusi operator. Itulah asosiativitas, yang bekerja sama seperti dalam matematika. Apa pun yang ada di dalam tanda kurung akan dihitung terlebih dahulu. Dalam kasus ini, pembagian bulat akan dilakukan terlebih dahulu, diikuti dengan perkalian.
Kesimpulan
Sekarang Anda tahu apa itu operator, bagaimana cara menggunakannya, dan bagaimana cara kerjanya. Anda juga mempelajari tentang overloading, prioritas, dan asosiativitas. Anda sedang berada di jalur yang tepat untuk menjadi ahli Python! Jika Anda ingin belajar lebih banyak lagi, jangan ragu untuk melihat kursus kami Intermediate Python for Data Science.