Skip to main content

Hadis tentang shalat dalam pandangan logika matematika -- sekedar iseng :D

Rasulullah SAW pernah bersabda: "Yang pertama akan dihisab dari seorang hamba adalah shalatnya. Jika baik shalatnya, maka baiklah seluruh amalannya dan jika buruk shalatnya, maka buruklah seluruh amalnya".

Kita akan mengotak-atik bagian terakhir dari hadis ini yaitu "Jika baik shalatnya, maka baik seluruh amalannya, dan jika buruk shalatnya, maka buruklah seluruh amalannya" . Kalimat ini bisa dipecah menjadi dua kalimat majemuk:
- jika baik shalatnya, maka baik seluruh amalannya
- jika buruk shalatnya, maka buruk seluruh amalannya.
Kedua kalimat majemuk itu dihubungkan dengan kata hubung "dan"

Kalimat tersebut kemudian bisa dibuat menjadi kalimat tunggal simbolis sebagai berikut:
- p = baik shalatnya
- q = baik seluruh amalannya
- ~p = buruk shalatnya
- ~q = buruk seluruh amalannya
Dengan demikian, maka bentuk kalimat majemuk tersebut adalah sebagai berikut
(p -> q) & (~p -> ~q)

Untuk kalimat paling luar yang dihubungkan dengan dan (&), kalimat itu benar jika dan hanya jika keduanya bernilai benar. Artinya kalimat ini benar jika kedua kalimat yaitu (jika baik shalatnya, maka baik seluruh amalannya) dan kalimat (jika buruk shalatnya, maka buruk seluruh amalannya) bernilai benar.

Karena kedua kalimat itu merupakan sebuah implikasi, maka kalimat itu akan bernilai salah jika dan hanya jika anteseden (bagian depan) bernilai benar dan konsekuen (bagian belakang) bernilai salah.
Misalkan - pada kalimat pertama:
- shalatnya baik (B)
- baik seluruh amalnya (S)
atau - pada kalimat kedua:
- shalatnya tidak baik (B)
- buruk seluruh amalnya (S)

Dengan demikian, dapat disimpulkan bahwa:
- tidak mungkin orang yang shalatnya baik, tapi tidak baik amalannya. (kalimat pertama)
- tidak mungkin orang yang shalatnya tidak baik, tapi baik amalannya. (kalimat kedua)

Comments

Kalimat logika:
(p -> q) & (~p -. ~q)

ekuivalen dengan:
(p <-> q)

Dengan kata lain, makna hadits sama dengan kalimat:
"Sholatnya baik, jika dan hanya jika seluruh amalannya baik"
Anonymous said…
Pak enak nya menggunakan modus tolen atau modus ponen????
hehehehe....

Popular posts from this blog

Make UnitTest Report Using HTMLTestRunner

I am a big fan of Python, and I am a big fan of TDD (Test Driven Development). The problem that I face for team development was that it is quite difficult to communicate the testing results to the team, because the results are in terminal so only us and God know :D Fortunately, somebody out there know my problem and create this amazing HTMLTestRunner.py. This tool is very handy and very easy to use. It almost feels like you don't need to do anything. OK, here's one example on how we use HTMLTestRunner. Ah, forget it. Download HTMLTestRunner.py from this website , and put somewhere in your computer. Say in this example, I put in ~/Downloads/HTMLTestRunner folder import unittest import sys _path = r"Downloads/HTMLTestRunner" sys.path.append(_path) import HTMLTestRunner class TestDemo(unittest.TestCase):     def testA(self):         assert True     def testB(self):         assert False class TestDemo2(unittest.TestCase):     def testC(self):         ass

Find JIRA issues mentioned in Confluence Page

I have been walking through a lot of pages in internet but have not found any answer except one. However, the answer is not complete, so I will share my experience here. This feature is very useful, especially to summarize the issues found during certain tests, where the tests are reported in a confluence page. I found that there are so many questions about this, but Atlassian seems does not want to bother with this request. I found one way to do this by the following tricks Take one JIRA issue that related to the target confluence page (in this case, say it is GET-895) Find the global ID of a JIRA issue: http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink It will show the JSON like this: [{"id":28293,"self":"http://bach.dc1.scram.com:8080/rest/api/latest/issue/GET-895/remotelink/28293","globalId":"appId=662e1ccf-94da-3121-96ae-053d90587b29&pageId=105485659","application":{

Mininet/Containernet Problem: Exception: Error creating interface pair (s2-eth5,s3-eth1): RTNETLINK answers: File exists

If you did not shut down the previous running mininet/containernet network (e.g. if you lose your connection to remote server), you will got the following error when you try to rerun your mininet network Traceback (most recent call last): File "./mynet.py", line 31, in <module> net.addLink(d2, s1) File "build/bdist.linux-x86_64/egg/mininet/net.py", line 403, in addLink File "build/bdist.linux-x86_64/egg/mininet/link.py", line 430, in __init__ File "build/bdist.linux-x86_64/egg/mininet/link.py", line 474, in makeIntfPair File "build/bdist.linux-x86_64/egg/mininet/util.py", line 202, in makeIntfPair Exception: Error creating interface pair (d2-eth0,s1-eth2): RTNETLINK answers: File exists In order to solve the problem, you need to clean up the previous running topology by using the following command sudo mn -c It will clean up all your cache. It will be something like this $ sudo mn -c *** Re