Kali ini kita akan membahas tentang jenis-jenis Operator Logika dalam bahasa pemrograman Python. Operator logika ini sering juga disebut sebagai operator boolean.
Pengertian Operator Logika Python
Operator logika adalah operator yang digunakan untuk membuat kesimpulan logis dari 2 kondisi boolean: true atau false. Dalam bahasa Python terdapat 3 operator logika:
Operator | Penjelasan | Contoh | Hasil |
---|---|---|---|
and | True jika kedua operand bernilai True | True and True | True |
or | True jika salah satu operand bernilai True | True or False | True |
not | True jika operand bernilai False | not False | True |
Pada prakteknya, operator logika ini banyak dipakai untuk menggabungkan beberapa hasil operasi perbandingan (contohnya akan kita lihat sesaat lagi).
Contoh Kode Program Operator Logika Python
Dalam bentuk paling sederhana, operator logika hanya bisa diisi dengan operand yang bernilai True atau False. Berikut percobaannya:
print('Hasil dari True and True :', True and True) print('Hasil dari True and False :', True and False) print('Hasil dari False and True :', False and True) print('Hasil dari False and False :', False and False) print('\n') print('Hasil dari True or True :', True or True) print('Hasil dari True or False :', True or False) print('Hasil dari False or True :', False or True) print('Hasil dari False or False :', False or False) print('\n') print('Hasil dari not True :', not True) print('Hasil dari not False :', not False)
Hasil kode program:
Hasil dari True and True : True Hasil dari True and False : False Hasil dari False and True : False Hasil dari False and False : False Hasil dari True or True : True Hasil dari True or False : True Hasil dari False or True : True Hasil dari False or False : False Hasil dari not True : False Hasil dari not False : True
Di sini saya membuat beberapa percobaan menggunakan operator logika. Rumus yang dipakai adalah sebagai berikut:
- Operator and hanya akan menghasilkan True jika kedua operand bernilai True, selain itu hasilnya False.
- Operator or hanya akan menghasilkan True jika salah satu operand bernilai True. Operator or hanya bernilai False jika kedua operand juga bernilai False.
- Operator not akan membalikkan logika, not False menghasilkan True, dan not True menghasilkan False.
Kita juga bisa menggabungkan lebih dari satu operasi seperti contoh berikut:
hasil = (5 > 6) and (10 <= 8) print(hasil) hasil = ('duniailkom' == 'duniailkom') or (10 <= 8) print(hasil) hasil = not (10 < 10) print(hasil) hasil = ('duniailkom' == 'duniailkom') and (10 <= 8) or (1 != 1) print(hasil)
Hasil kode program:
False True True False
Untuk operasi seperti ini, akan diproses dari kiri ke kanan, kecuali ditemukan tanda kurung maka itulah yang akan diproses terlebih dahulu.
- Di baris 1, operasi (5 > 6) and (10 <= 8) akan diproses menjadi False and False, hasilnya False.
- Di baris 4, operasi ('duniailkom' == 'duniailkom') or (10 <= 8) akan diproses menjadi True or False, hasilnya True.
- Di baris 7, operasi not (10 < 10) akan diproses menjadi not False, hasilnya True.
- Di baris 10, operasi ('duniailkom' == 'duniailkom') and (10 <= 8) or (1 != 1) akan diproses menjadi (True and False) or False, kemudian menjadi False or False, hasilnya False.
Sama seperti operasi perbandingan, operasi logika ini banyak dipakai pada percabangan kode program, misalnya untuk bisa login seseorang harus memiliki username and password yang sesuai. Jika salah satu saja tidak terpenuhi, maka tidak bisa login.
Dalam tutorial ini kita telah membahas pengertian dan cara penggunaan operator logika Python. Berikutnya akan masuk ke Jenis-Jenis Operator Bitwise dalam Bahasa Pemrograman Python.
Kalau and dan or dikalimat yang sama bagaimana? Yang mana didahulukan?
Contoh : True and True or True
Untuk kasus seperti itu akan dijalankan dari kanan terlebih dahulu. Jadinya seperti ini: (True and True) or True
Dalam operator logika, apakah and dikerjakan sebelum or? Dan kalau iya, mengapa ya kalau boleh tanya?
Dalam bahasa Python, operator logika "and" memiliki prioritas lebih tinggi daripada operator "or", sehingga "and" akan di proses terlebih dahulu (kecuali terdapat tanda kurung, maka yang di dalam tanda kurung yang akan di kerjakan terlebih dahulu).
Ga ada Operator XOR ya bang?