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
Berikut ini adalah tabel operator-operator tersebut, termasuk prioritas dan asosiatifnya.

JenisOperatorAsosiatif
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.OperanHasil
    .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

    Postingan populer dari blog ini

    MENGENAL SISTEM BILANGAN KOMPUTER

    KONSERVASI SINTEM BILANGAN KOMPUTER