OPERATOR DAN EKSPRESI LOGIKA
Operator dan Ekspresi LOGIKA
Fortran memiliki lima operator LOGICAL yang hanya dapat digunakan dengan ekspresi yang hasilnya adalah nilai logika ( yaitu , .TRUE. atau .FALSE. ). Semua operator LOGICAL memiliki prioritas lebih rendah daripada operator aritmatika dan relasional . Oleh karena itu, jika suatu ekspresi melibatkan operator aritmatika, relasional, dan logika, operator aritmatika dievaluasi terlebih dahulu, diikuti oleh operator relasional, diikuti oleh operator logika.
Lima operator logika ini adalah
- .TIDAK. : tidak logis
- .DAN. : logis dan
- .ATAU. : logis atau
- .EQV. : kesetaraan logis
- .NEQV. : logika bukan kesetaraan
Jenis | Operator | Asosiatif | |||||
Hitung | ** | kanan ke kiri | |||||
* | / | kiri ke kanan | |||||
+ | - | kiri ke kanan | |||||
Relasional | < | <= | > | >= | == | /= | tidak ada |
Logis | .BUKAN. | kanan ke kiri | |||||
.DAN. | kiri ke kanan | ||||||
.ATAU. | kiri ke kanan | ||||||
.EQV. | .NEQV. | kiri ke kanan |
Tabel Kebenaran
Evaluasi ekspresi logika ditentukan oleh tabel kebenaran. Mari kita mulai dengan operator .NOT..BUKAN. | Operan | Hasil |
.BENAR. | .PALSU. | |
.PALSU. | .BENAR. |
Perhatikan bahwa .NOT. adalah operator unary. Oleh karena itu, .NOT. a menghasilkan .TRUE. ( resp. , .FALSE. ) jika nilai variabel LOGICAL a adalah .FALSE. ( resp. , .TRUE. ).
Berikut ini adalah tabel kebenaran dari .AND. :
.DAN. | .BENAR. | .PALSU |
.BENAR. | .BENAR. | .PALSU. |
.PALSU. | .PALSU. | .PALSU. |
Oleh karena itu, hasil ekspresi logika a .AND. b adalah .TRUE. jika dan hanya jika kedua operan a dan b adalah .TRUE. . Dalam semua kasus lainnya, hasilnya selalu .FALSE.
Berikut ini adalah tabel kebenaran dari .OR. :
.ATAU. | .BENAR. | .PALSU |
.BENAR. | .BENAR. | .BENAR. |
.PALSU. | .BENAR. | .PALSU. |
Oleh karena itu, hasil ekspresi logika a .OR. b adalah .FALSE. jika dan hanya jika kedua operan a dan b adalah .FALSE. . Dalam semua kasus lainnya, hasilnya selalu .TRUE. Dengan kata lain, jika salah satu dari dua operan operator .OR. adalah .TRUE. , hasilnya adalah .TRUE.
Berikut ini adalah tabel kebenaran dari .EQV. :
.EQV. | .BENAR. | .PALSU |
.BENAR. | .BENAR. | .PALSU. |
.PALSU. | .PALSU. | .BENAR. |
Oleh karena itu, hasil ekspresi logika a .EQV. b adalah .TRUE. jika dan hanya jika kedua operan a dan b memiliki nilai yang sama ( yaitu , keduanya .TRUE. atau keduanya .FALSE. ). Seperti yang disebutkan dalam ekspresi relasional , operator relasional hanya dapat membandingkan nilai aritmatika dan tidak dapat digunakan untuk membandingkan nilai logika. Untuk membandingkan apakah dua nilai logika sama, gunakan .EQV.
Berikut ini adalah tabel kebenaran .NEQV. :
.NEQV. | .BENAR. | .PALSU |
.BENAR. | .PALSU. | .BENAR. |
.PALSU. | .BENAR. | .PALSU. |
Oleh karena itu, hasil ekspresi logika a .NEQV. b adalah .TRUE. jika dan hanya jika kedua operan a dan b tidak memiliki nilai yang sama. Seperti disebutkan dalam ekspresi relasional , operator relasional hanya dapat membandingkan nilai aritmatika dan tidak dapat digunakan untuk membandingkan nilai logika. Untuk membandingkan jika dua nilai logika tidak sama, gunakan .NEQV. Perhatikan bahwa .NEQV adalah kebalikan dari .EQV. . Oleh karena itu, untuk menguji apakah variabel logika x dan y memiliki nilai yang berbeda, seseorang dapat menggunakan .NOT. (x .EQV. y) . Di sini, jika x dan y memiliki nilai yang sama, x .EQV. y adalah .TRUE. dan .NOT. (x .EQV. y) adalah .FALSE. Di sisi lain, jika x dan y memiliki nilai yang berbeda, x .EQV. y adalah .FALSE. dan .NOT. (x .EQV. y) adalah .TRUE.
Komentar
Posting Komentar