"Salam, Amigo! Aku wis kebawa banget kanggo ngrampungake masalah logika, aku ora weruh sampeyan mlebu. Iki siji kanggo sampeyan: yen baya mabur, banjur salju putih. Ana baya mabur. Apa kesimpulan?"

"Um... Dadi kita nyimpulake yen salju putih?"

"Apik banget! Sampeyan lulus tes inisiasi. Sampeyan wis siyap nguwasani topik sabanjure. Iki diarani 'operator logis'. Lan kita bakal miwiti karo logika Boolean. Naluri, sampeyan wis ngerti. Sampeyan robot, sawise kabeh . Kita mung kudu ngapiki setelan sampeyan supaya cocog karo basa Jawa."

"Logika Boolean? Aku bubar dikandhani babagan jinis boolean ..."

"Ya, ana sambungan langsung ing kene. Ekspresi Boolean mung bisa bener utawa salah. Lan kaya sing kedadeyan, logika iki kabeh babagan ekspresi sing bener utawa salah, lan kombinasi saka ekspresi kasebut. Contone, ekspresi 18 < 25 tansah bener, lan 7 < 5 tansah salah. Ekspresi (i <10) gumantung marang nilai i. Lan yen ekspresi kasebut ngevaluasi, contone, bener, mula kita bisa njaluk program kanggo nindakake apa wae.

"Ahh, aku ngerti. Ekspresi Boolean ngidini kita ora mung nggawe kesimpulan logis, nanging uga nggawe garpu ing program."

"Pancen. Sing utama yaiku sinau carane nulis. Contone, ing Jawa, sampeyan ora bisa nulis ekspresi kasebut 18 < age <65. Iki bakal salah sintaksis lan program ora bakal dikompilasi.

"Nanging sampeyan bisa nulis kaya iki:

(18 < age) AND (age < 65)

Mesthi, kita ora nggunakake tembung ENGLISH AND. Nanging, sampeyan butuh operator boolean . Tegese, 'AND' diwakili kanthi beda.

"Ana telung operator logis ing Jawa: AND(&&), OR(||), NOT(!).

Kabar apik yaiku sampeyan bisa nggunakake tanda kurung kanggo nggawe ekspresi logis saka kerumitan apa wae.

Kabar sing ora becik yaiku para pangembang Jawa mutusake nggunakake notasi saka basa C tinimbang tembung and, orlan not.

Deleng ing layar:

Operator logika Pangarep-arep kasunyatan
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

"Satemene ora elek... Cukup kompak. Aku wis meh apal."

"Wah, apik tenan. Iki sawetara conto nggunakake operator logis ing Jawa:

Ekspresi Interpretasi Panjelasan
(0 < a) && (a < 100) (0 < a) and (a < 100) (0 < a) AND (a < 100)
(!a) && (!b) (not a) and (not b) (NOT a) AND (NOT b)
!(!a || !b) not((not a) or (not b)) NOT((NOT a) OR (NOT b))

Conto nggunakake operator perbandingan lan variabel boolean

"Elinga, Amigo, ing ngendi wae sampeyan bisa nulis ekspresi logis, sampeyan bisa nulis variabel logis."

"Piye iki?"

"Maksudku sampeyan bisa nulis ekspresi logis kanthi cara sing beda-beda. Contone:

Kode Panjelasan
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Yen nilai umur antarane 18lan 65, banjur tembung "Sampeyan bisa kerja" ditampilake.
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Kita nggawe isYoungvariabel lan mindhah bagean pisanan saka ekspresi kasebut. Kita mung diganti age >= 18karo age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Kita nggawe variabel isOld lan mindhah bagean liya saka ekspresi kasebut. Kajaba iku, age <= 65diganti dening age > 65.

"Conto telu iki padha karo. Mung ing conto kapindho, kita mindhah bagean ekspresi saka statement ifmenyang variabel boolean sing kapisah ( isYoung). Ing conto katelu, kita mindhah bagean liya saka ekspresi menyang variabel kapindho ( isOld). Miturut cara, nilai standar saka variabel boolean yaiku false."

"Aku bakal ngelingi. Muga-muga."

Aritmetika logika

"Saiki ayo cepet liwat operasi logis. Padha manut aturan sing prasaja lan logis (kepiye bisa digunakake!).

"Kaping pisanan, ayo ndeleng cara ORkerja operator. Iki uga dikenal minangka ||utawa disjunction .

Ekspresi asil
true || true true
true || false true
false || true true
false || false false

"Apa sampeyan bisa nemtokake saiki apa asil ekspresi kasebut a || badhedhasar tabel?"

"Aku weruh!" Nilai ekspresi yaiku trueyen paling ora siji istilah ing ekspresi kasebut yaiku true. Yen loro false, banjur asile false.

"Iku bener. Amarga sampeyan pancen pinter, deleng maneh meja lan bayangake yen false0 lan true1. Yen sampeyan ndeleng kaya ngono, apa ||prilaku operator kasebut ngelingake sampeyan babagan apa wae saka aritmetika biasa?"

"Um... Lha, iki rada kaya tambahan... Nanging yen sampeyan nggawe tambahan, 1 + 1 ora padha karo 1."

"Ana rasa sing padha yen kita mung nggarap 0 lan 1. Nanging aja keganggu karo saiki. Sing penting sampeyan ngeweruhi mirip antarane operasi ||lan tambahan. Iki tegese sampeyan bakal menang ' t bakal kaget dening kasunyatan sing operasi iki asring disebut 'tambahan logis'.

"Ngerti."

"Saiki operator AND, aka &&, alias konjungsi , teka ing panggung.

Ekspresi asil
true && true true
true && false false
false && true false
false && false false

"Minangka aku ngerti, asil saka ekspresi truemung yen loro nilai sing nggawe ekspresi kasebut true. Yen ora, mesthi false."

"Inggih, Amigo! Sampeyan nyerep kabeh iki kaya spons. Apa sampeyan ndeleng podho liyane karo aritmatika?"

"Multiplikasi!"

"Persis. Dadi ing kene kita duwe 'perkalian logis'".

"Sabanjure kita ndeleng NOToperator, alias !, alias invers logis .

Ekspresi asil
!true false
!false true

"Inggih, kabeh cukup prasaja ing kene. Operator ganti truedadi falselan kosok balene."

"Persis. Ing ngisor iki sawetara ekspresi sing migunani kanggo sampeyan:"

Ekspresi asil
m && !m false
m || !m true
!(a && b) !a || !b
!(a || b) !a && !b